题解 | #[NOIP2013]记数问题#
[NOIP2013]记数问题
https://www.nowcoder.com/practice/28b2d9f2bf2c48de94a1297ed90e1732
描述
试计算在区间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出现的次数。
#include <stdio.h> int main() { int n, x; scanf("%d%d",&n,&x); int count = 0; int i, j; for(i = 1;i <= n;i++) //范围[1,n] { for(j = i;j > 0;j /= 10) //不为0递缩 { if ((j%10) == x) //取余得数位值,判断与x是否相等 { count++; //计数 } } } printf("%d",count); return 0; }