概述
问题:
给定一个十进制正整数N,写下从一开始到N过程中所有1的个数?
例如:
N=2,写下1,2,出现了1个1
N=12,写下1,2,3,4,5,6,7,8,9,10,1,1,12,这里面1的个数是5
问题分析和解法:
最简单的一个方法就是从1开始进行遍历到N,将其中每个数中1的个数进行相加,这样我们就可以得到所有1的个数!!!
代码:
<span style="font-size:18px;">#include<iostream>
using namespace std;
int coutinter(int n)
{
int num = 0;
while (n != 0)
{
num += (n % 10 == 1) ? 1 : 0;//取余判断该位置是不是1,是1个数加1
n = n / 10; //取整
}
return num;
}
int f(int n);
int main()
{
int n = 10;
int sum = 0;
for (int i = 1; i <= 10; i++)
{
sum += coutinter(i);
}
cout << sum << endl;
system("pause");
return 0;
}</span>
最后
以上就是乐观钢铁侠为你收集整理的十进制中正整数N中1的个数的全部内容,希望文章能够帮你解决十进制中正整数N中1的个数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复