记数问题

描述

试计算在区间 1 到 n 的所有整数中,数字 x(0 ≤ x ≤ 9)共出现了多少次?例如,在 1 到 11 中,即在 1、2、3、4、5、6、7、8、9、10、11 中,数字 1 出现了 4 次。

格式

输入格式

输入共 1 行,包含 2 个整数 n、x,之间用一个空格隔开。

输出格式

输出共 1 行,包含一个整数,表示 x 出现的次数。

样例1

样例输入1

11 1

样例输出1

4

限制

每个测试点1s。

提示

对于 100%的数据,1≤ n ≤ 1,000,000,0 ≤ x ≤ 9。

来源

NOIP 2013 普及组

 1 #include<cstdio>
 2 using namespace std;
 3 int main()
 4 {
 5     int i,n,x,ans = 0,j;
 6     scanf("%d%d",&n,&x);
 7     for(i = 1;i <= n;i++)
 8     {
 9         j = i;
10         while(j)
11         {
12             if(j%10 == x) ans++;
13             j/=10;
14         }
15     }
16     printf("%d",ans);
17     return 0;
18  } 
原文地址:https://www.cnblogs.com/peppa/p/9648528.html