P1980 计数问题

题目描述
试计算在区间 1 到 n 的所有整数中,数字 x(0 ≤ x ≤ 9)共出现了多少次?例如,在 1

到 11 中,即在 1、2、3、4、5、6、7、8、9、10、11 中,数字 1 出现了 4 次。

输入输出格式
输入格式:
输入文件名为 count.in。

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

输出格式:
输出文件名为 count.out。

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

输入样例#1:
11 1
输出样例#1:
4
说明
对于 100%的数据,1≤ n ≤ 1,000,000,0 ≤ x ≤ 9。

啊。一道水题当年做的时候是有点懵逼的,有两个注意的点,一个是while循环应该想到,然后就是多定义一个变量y不要改变i的值了。

#include 

#include 


using namespace std;

int main()
{
    int n,x;
    while(~scanf("%d %d",&n,&x)){
            int cnt=0;
        for(int i=0;i<=n;i++){
            int y=i;
            while(y){
                if(y%10==x)cnt++;
                    y/=10;
            }
        }
        printf("%d\n",cnt);
    }
     return 0;
}

你可能感兴趣的:(luogu)