描述
试计算在区间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~n的区间遍历一遍,在遍历的过程中将区间内出现的数都统计一遍
在以x为下标的元素输出数组内容即可。(有待优化。。。)
int main()
{
int hash[10]={0}; //定义哈希表
int n,x;
scanf("%d %d",&n,&x);
for(int i=1;i<=n;i++) //遍历区间
{
int tem = i;
while(tem) //计算
{
hash[tem%10]++;
tem/=10;
}
}
printf("%d",hash[x]); //输出
}

京公网安备 11010502036488号