NOIP 2013 普及组 记数问题

描述

试计算在区间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

限制

每个测试点1s。

提示

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

来源

NOIP 2013 普及组

分析

只要把从1到n这n个数的每一位都求出来,与x比较就行了。

#include
int main()
{
    int i,n,x,sum=0;
    scanf("%d%d",&n,&x);
    for(i=1; i<=n; i++)
    {
        int y,h;
        y=i;
        while(y!=0)
        {
            h=y%10;
            if(h==x)
                sum++;
            y=y/10;
        }
    }
    printf("%d",sum);
    return 0;
}

你可能感兴趣的:(NOIP,C语言)