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;
}