Problem A
Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 504 Accepted Submission(s) : 99
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
请统计给定某个范围[L,R](1<=L<R<=10000)的所有整数中,出现数字M(1<=M<=9)的总次数。
Input
一行输入三个整数L、R、M,中间以空格隔开。(有多个测试用例)
Output
输出[L,R]之间所有整数中出现M的次数总和。
Sample Input
2 22 2
Sample Output
6
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int main()
{
int l,r,m;
int a[10];
while(~scanf("%d %d %d",&l,&r,&m))
{
memset(a,0,sizeof(a));
for(int i=l;i<=r;i++)
{
int j=i;
while(j)
{
int x=j%10;
a[x]++;
j=j/10;
}
}
printf("%d\n",a[m]);
}
return 0;
}