查看: 828|回复: 0

[C/C++] 【13NOIP普及组】计数问题

[复制链接]

1

技术

25

魅力

7

原创

管理员

Rank: 9Rank: 9Rank: 9

积分
11343
人气
297
分享
42

论坛元老优秀版主活跃会员最佳新人灌水之王

发表于 2021-9-17 21:36:24 | 显示全部楼层 |阅读模式
【题目描述】
试计算在区间 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 出现的次数。

【输入样例】
11 1
【输出样例】
4
【提示】
【数据说明】

对于 100%的数据,1≤n≤1,000,000,0≤x≤9。

【代码】
[C++] 纯文本查看 复制代码
#include <iostream>
#include <cstdio>
using namespace std;

int main() {
	int n, x, tot = 0, tmp;
	scanf("%d %d", &n, &x);
	for (int i = 1; i <= n; i++) {
		tmp = i;
		while (tmp) {
			if (tmp % 10 == x)
				tot++;
			tmp /= 10;
		}
	}
	printf("%d", tot);
}


Just do it.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表