vijos的训练计划题解--1.1 计数问题
2018-08-15 本文已影响0人
硬派
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;
}