P1980 [NOIP2013 普及组] 计数问题
题目描述
试计算在区间 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<bits/stdc++.h>
#include<algorithm>
#include<cstring>
using namespace std;
int main(){
int n,x;
int cnt=0,i;
cin>>n>>x;
for(i=1;i<=n;i++){
int b=i;
while(b>0){
int tmp=b%10;
if(tmp==x){
cnt++;
}
b=b/10;
}
}
cout<<cnt;
return 0;
}