今天来到简单的问题吧记数问题 T1
题目描述
试计算在区间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出现的次数。
样例输入
11 1
样例输出
4
提示
对于100%的数据,1≤n≤1,000,000,0≤x≤9
我只能说,很简单
这算是NOIP的一道水题了吧,头一次见NOIP出的题这么简单
讲一下思路:
遍历循环,从1一直遍历到n,然后就类似于数位分割,存一个临时值tmp,如果tmp%10 == x,也就是说tmp中有一位是x,就存一个变量sum,sum++,最后输出sum就行了,很简单吧
上代码
#include <stdio.h>
int main()
{
int n,x,sum=0;
scanf("%d %d",&n,&x);
for(int i=1;i<=n;i++)
{
int tmp=i;
while(tmp>0){
if(tmp%10==x) sum++;
tmp/=10;
}
}
printf("%d",sum);
return 0;
}