题目:
输入:一个正整数N,
输出:要求输出从 1 ~ N 中所出现的 1 的个数,如12中所包含的 1 的数为: 1 、10、11、12 总共包含 5个 1
解法1:
可以对从1~N的每个数字进行遍历,分别求出每个数字中所包含的1的个数,然后相加求和即可得出最后结果;
如下代码:
#include <iostream>
using namespace std;
int coutOne(unsigned int n)
{
int num=0;
while(n)
{
if(n%10==1)
num++;
n=n/10;
}
return num;
}
int coutNNum(unsigned int n)
{
int numb = 0;
int i = 1;
for(i=1;i<=n;i++)
numb += coutOne(i);
return numb;
}
int main()
{
int n;
while(cin>>n)