2054: 数1的个数

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:6 解决:5

题目描述

给定一个十进制正整数n(1≤n≤10000),写下从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<bits/stdc++.h>
using namespace std;

int main(){
    int n,ans=0;
    cin>>n;
    for (int i=1;i<=n;i++) {
        int m=i;
        while (m>0) {
            int t=m%10;
    	    if (t==1)
    	        ans++;
    	    m/=10;
	    }
    }
	cout<<ans<<endl;
	return 0;
}