题目背景
NOIP2013 普及组 T1
题目描述
试计算在区间 11 到 nn 的所有整数中,数字 xx(0≤x≤90≤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≤n≤1061≤n≤106,0≤x≤90≤x≤9。
思路
不知道统计谁,就统计所有数字呗!
代码
#include<bits/stdc++.h>
using namespace std;
long long end,a[10],j;
int main()
{
//加快输出输入
std::ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
cin>>end>>j;
for(int i=1;i<=end;i++)
{
int n=i;
while(n) //拆数程序
{
a[n%10]++; //统计
n=n/10;
}
}
cout<<a[j];
return 0;
}