描述
给定一个十进制正整数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”。
输入
正整数n。1 <= n <= 10000。
输出
一个正整数,即“1”的个数。
样例输入
12
样例输出
5
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <cstring>
using namespace std;
int p(int x)
{
int s=0;
while(x!=0)
{
int a=x%10;
if(a==1) s++;
x=x/10;
}
return s;
}
int main()
{
int n;
cin>>n;
int sum=0;
for(int i=1; i<=n; i++)
{
int k=p(i);
sum=sum+k;
}
cout<<sum<<endl;
return 0;
}