vijos的训练计划题解--1.1 计数问题

1.1 计数问题


问题描述

试计算在区间 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.利用整数的特点:循环取整除数,并判断

2.直接将数字输入为字符串,然后判断子串中某数字出现的次数



题解(C语言):

#includeint main()

{

int i,n,x,k=0,j;

scanf("%d %d",&n,&x);

for(i=1;i<=n;i++)

{

j=i;

while(j)

{

if(j%10==x)

k++;

j=j/10;

}

}

printf("%d",k);

return 0;

}

你可能感兴趣的:(vijos的训练计划题解--1.1 计数问题)