NOIP2013普及组(1)计数问题
/*============================================================================
记数问题
(count.cpp/c/pas)
【问题描述】
试计算在区间 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 出现的次数。
【输入输出样例】
count.in
11 1
count.out
4
【数据说明】
对于 100%的数据,1≤ n ≤ 1,000,000,0 ≤ x ≤ 9。
==============================================================================*/
#include<stdio.h> long CountX(int n,int x); int main() { int n,x; long result; scanf("%d%d",&n,&x); result=CountX(n,x); printf("%ld\n",result); return 0; } long CountX(int n,int x) { int i,j; long result=0; for(i=1;i<=n;i++) { j=i; while(j>0) { if(j%10==x) { result++; } j=j/10; } } return result; }
这个题有待改善算法策略……
浙公网安备 33010602011771号