[NOIP2013 普及组] 计数问题
[NOIP2013 普及组] 计数问题
题目描述
试计算在区间 \(1\) 到 \(n\) 的所有整数中,数字 \(x\)(\(0\le x\le9\))共出现了多少次?例如,在 \(1\) 到 \(11\) 中,即在 \(1,2,3,4,5,6,7,8,9,10,11\) 中,数字 \(1\) 出现了 \(4\) 次。
输入格式
\(2\) 个整数 \(n,x\),之间用一个空格隔开。
输出格式
\(1\) 个整数,表示 \(x\) 出现的次数。
样例 #1
样例输入 #1
11 1
样例输出 #1
4
提示
对于 \(100\%\) 的数据,\(1\le n\le 10^6\),\(0\le x \le 9\)。
(我何时堕落到这种程度了。。。)
Code
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,x,num=0;
cin >> n >> x;
for(int i=1;i<=n;i++)
{
int ii=i;
while(ii!=0)
{
int iii=ii%10;
if(iii==x)
{
num++;
}
ii/=10;
}
}
cout << num;
return 0;
}
本文来自小默的博客,转载请注明原文链接:https://www.cnblogs.com/momotrace/p/p1980.html