题目描述
给定一个十进制正整数 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
if 语句的使用,枚举每个数字的每一位,如果是 1,答案数累加。
#include<iostream>
using namespace std;
int main()
{
int n, res = 0;
cin>>n;
for(int i = 1; i <= n; i++){
int t = i;
while(t > 0){
if(t%10 == 1) res++;
t /= 10;
}
}
cout<<res<<endl;
return 0;
}