P1980 [NOIP2013 普及组] 计数问题

222 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。 题目描述

试计算在区间 11 到 nn 的所有整数中,数字 xx(0\le x\le90≤x≤9)共出现了多少次?例如,在 11 到 1111 中,即在 1,2,3,4,5,6,7,8,9,10,111,2,3,4,5,6,7,8,9,10,11 中,数字 11 出现了 44 次。 输入格式

22 个整数 n,xn,x,之间用一个空格隔开。 输出格式

11 个整数,表示 xx 出现的次数。 输入输出样例

输入 #1复制

11 1

输出 #1复制

4

说明/提示

对于 100%100% 的数据,1\le n\le 10^61≤n≤106,0\le x \le 90≤x≤9。

#include<iostream>
using namespace std;
int main()
{
	int n, x;
	cin >> n >> x;
	int i ,j,sum=0;
	for (j = 1; j <= n; j++)
	{
		i = j;
		if (i < 10)
		{
			if (i == x)
				sum++;
		}
		else
		{
			while (i != 0)
			{
				if ((i % 10) == x)
					sum++;
				i /= 10;
			}
		}
	}
	cout << sum;
}