Description
给定一个十进制正整数n,写下从1到n的所有整数,然后数一下其中出现的数字“1”的个数。
例如当n=2时,写下1,2。这样只出现了1个“1”;当n=12时,写下1,2,3,4,5,6,7,8,9,10,11,12。这样出现了5个“1”。
Input
正整数n。1 <= n <= 10000。
Output
一个正整数,即“1”的个数。
Sample Input
复制代码
1
212
Sample Output
复制代码
1
25
Source Code
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19#include<stdio.h> int main() { int n,k=0; //k,1的个数 scanf("%d",&n); for(int i = 1; i<=n; i++) { int a = i; while(a) { if(a%10==1) k++; a/=10; } } printf("%d",k); return 0; }
Computational Results
Hint
检测从1到n中每个数中含“1”的个数(即每个数中含有几个“1”),使其相加。
当然对于一些较大的数就得不断使其缩小,上述代码以10为基准
最后
以上就是冷艳外套最近收集整理的关于C语言 数1的个数的全部内容,更多相关C语言内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复