计数问题:
题目描述
试计算在区间 1 到 n 的所有整数中,数字 x(0≤x≤9)共出现了多少次?例如,在 1到 11 中,即在 1,2,3,4,5,6,7,8,9,10,11 中,数字 1出现了 4 次。
输入格式
2 个整数 n,x,之间用一个空格隔开。
输出格式
1 个整数,表示 x 出现的次数。
输入输出样例
输入 #1复制
11 1
输出 #1复制
4
说明/提示
对于100% 的数据,1\le n\le 10^61≤n≤106,90≤x≤9。
基本思路位:单层循环,每个数进行取数位判断。即可。 在每次取数位判断后,/10除去那个数位,剩余的数在进行判断,直至这个数判断完毕。
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,x,d,ddd;
int c =0;
cin>>n>>x; //输入区间和要查找的数。
for(int i=1;i<=n;i++){
d=i; //每次d进去
while(d!=0){//d必不为0;
ddd=d%10; //取一个数比较一次
if(ddd==x)c++;
d/=10; //减位数。减去计算过的那位
}}
cout<<c;
return 0;
}