得到一个数字中每一位的数字
学习编程也有一段时间了,随着学习的不断深入,我越来越体会到了算法的重要性,最近遇到了一些非常有意思的算法,比如打印水仙花数、将数字逆置,在这两个算法中会用到一个数字钟每一位的值
如:判断数字123是否是水仙花数需要得到每一位的数字
通常计算每一位的数字的算法是:
个位:a = 123 % 10 = 3
十位:b = 123 %100 / 10 = 2
百位::c = 123 % 100 = 2
随着位数的越来越大,这种方法满足不了程序的需求
比如计算:123445677777777777777777777每一位的数字使用上面的方法肯定是不行的
最近我学了一种比较好的方法:
为了便于理解这种方法,我用前面的例子使用这种方法计算123中每一位的值
需要计算的数字:
1 | 2 | 3 |
首先定义变量 j = 123
m = 0
第一步:求出个位上的数字
m = j % 10 = 123 % 10 = 3
j = j / 10 = 123 / 10 = 12;//将三位数变成两位数
第二步:求出十位上的数字
m = j % 10 = 12 % 10 = 2
j = j / 10 = 12 / 10 = 1//将两位数变成一位数
第三步:求出百位上的数字
m = j % 10 = 1 % 10 = 1
j = j / 10 = 1 / 10 = 0//将数字清零
最后得到个位上的数字是3,十位上的数字是2, 百位上的数字是1
程序代码:
#include <stdio.h>
#include <stdlib.h>void main()
{int num;int i = 0;printf("请输入一个数字:");scanf("%d", &num);while(num>0){i = num % 10;//计算每一位上的数字printf("%d\n", i);//打印每一位数字num = num / 10;//实现位与位之间的遍历}system("pause");
}
测试程序:
当输入123时
当输入一个比多位数时:比如12341221
得到一个数字中每一位的数字相关推荐
- lua 从一串数字中取出偶数位的数字_为什么JavaScript中 0.1 0.2 不等于0.3?
在 js 中进行数学的运算时,会出现0.1+0.2=0.300000000000000004的结果,一开始认为是浮点数的二进制存储导致的精度问题,但这似乎不能很好的解释为什么在同样的存储方式下0.3+ ...
- c语言两字符串转数字后相加,一个觉得很难的C语言问题。对两个数字字符串相加。 C语言 如何把一个字符串中相连的两个数字转化为一......
导航:网站首页 > 一个觉得很难的C语言问题.对两个数字字符串相加. C语言 如何把一个字符串中相连的两个数字转化为一... 一个觉得很难的C语言问题.对两个数字字符串相加. C语言 如何把一个 ...
- CF628D Magic Numbers (数据大+数位dp)求[a,b]中,偶数位的数字都是d,其余为数字都不是d,且能被m整除的数的个数...
题意:求[a,b]中,偶数位的数字都是d,其余为数字都不是d,且能被m整除的数的个数(这里的偶数位是的是从高位往低位数的偶数位).a,b<10^2000,m≤2000,0≤d≤9 a,b< ...
- 【LeetCode】剑指 Offer 44. 数字序列中某一位的数字
[LeetCode]剑指 Offer 44. 数字序列中某一位的数字 文章目录 [LeetCode]剑指 Offer 44. 数字序列中某一位的数字 package offer;public clas ...
- 寻找神秘4位数:在0-9十个数字中任意选择4个数字,如选2,9,8,4这四个数字,组成最大的数是9842,最小的数是2489,然后相减,再把得到的4位数组成的最大与最小值相减
寻找神秘4位数:在0-9十个数字中任意选择4个数字,如选2,9,8,4这四个数字,组成最大的数是9842,最小的数是2489,然后相减,再把得到的4位数组成的最大与最小值相减,在这样重复的过程中,你能 ...
- (每天一小步,进步一大步)NC291 数字序列中某一位的数字
数字以 0123456789101112131415... 的格式作为一个字符序列,在这个序列中第 2 位(从下标 0 开始计算)是 2 ,第 10 位是 1 ,第 13 位是 1 ,以此类题,请你输 ...
- 【LeetCode笔记】剑指 Offer 44. 数字序列中某一位的数字(Java、偏数学)
文章目录 题目描述 思路 && 代码 题目描述 比较偏数学的一道题..众所周知这类题代码量都不大,但是就是难想= = 思路 && 代码 这篇题解写得很好- 建议还是直接 ...
- java 数字 下划线_为什么要在Java SE 7的数字中使用下划线-在数字文字中使用下划线...
java 数字 下划线 JDK 1.7发行版引入了几个有用的功能,尽管其中大多数都是语法糖,但使用该功能可以大大提高可读性和代码质量. 这样的功能之一是在数字文字中引入下划线 . 从Java 7开始, ...
- 为什么要在Java SE 7的数字中使用下划线-在数字文字中使用下划线
JDK 1.7发行版引入了几个有用的功能,尽管其中大多数都是语法糖,但使用该功能可以大大提高可读性和代码质量. 这样的功能之一是在数字文字中引入下划线 . 从Java 7开始,您可以在Java源代码中 ...
最新文章
- exec的不同实现--鸠占鹊巢还是功成身退
- Zabbix实战之客户端自动注册
- ISE简介及其下载 安装 和谐 与 卸载
- jmeter+maven+jenkins自动化接口测试(下)
- 原来做的一个语义搜索软件的界面
- Activiti 多个并发子流程的应用
- mysql多个外键删除设置_Mysql在删除集上使用多个外键创建表
- css样式,后代选择器
- String,StringBuffer,StringBuilder效率优先关系说明
- Juniper CoS 基本配置说明
- ttf字体,简单获取
- UTAU - 完整无乱码汉化策略及资源配布
- 软件测试需求分析方法
- 大学生做 app 开发,用云服务和租赁服务器,哪个更合适?
- [转] 大学的终结—1950年代初期的“院系调整”
- Python崛金系列--4.python量化股票
- 树莓派安装MPlayer播放器
- openssl命令查看证书有效期_使用 openssl 生成证书
- c++跟踪调试怎么用 dev_DEVC++调试方法
- 怎样使用计算机求一个数的立方根,计算机求数立方根的数学教案
热门文章
- APISpace 邮编查询API
- 应用程序性能监测—云安虚拟化运维监测系统
- Tecplot如何设置图例 并更改图例边框大小/字框占比
- 乔布斯的简历,看完你会沉默……
- FS_I10X接收机通道说明
- 计算机 精度,精度计算器
- SRM 624 Building Heights DivI 解读
- Vue项目 .env .env.development .env.production 配置说明
- yum mysql 如何启动_linux下使用yum安装mysql以及启动、登录和远程访问
- 《17天搞定GRE单词》