【题目描述】
试计算在区间 1 到 n的所有整数中,数字 x(0≤x≤9)共出现了多少次?例如,在1到11中,即在 1、2、3、4、5、6、7、8、9、10、11 中,数字 1 出现了 4 次。
【输入】
输入共 1 行,包含 2 个整数 n、x,之间用一个空格隔开。
【输出】
输出共 1 行,包含一个整数,表示 x 出现的次数。
【输入样例】
11 1
【输出样例】
4
【提示】
【数据说明】
对于 100%的数据,1≤n≤1,000,000,0≤x≤9。
【解题思路】
1.用枚举法和取位方法完成
【代码实现】
#include <iostream>
using namespace std;
int main(){
int n,x;
long long cnt=0;
cin>>n>>x;
//枚举1~n的所有数字
for(int i=1;i<=n;i++){
int temp =i;
//取位
while(temp>0){
//检查等于目标数,计数器+1
if(temp%10==x){
cnt++;
}
temp/=10;
}
}
cout<<cnt;
return 0;
}