题解 | 记数问题
记数问题
https://www.nowcoder.com/practice/28b2d9f2bf2c48de94a1297ed90e1732
#include<bits/stdc++.h>
using namespace std;
int is_have_num(string s,char num){//用字符串来判断有几个目标数字
int counts=0;
for(int i=0;i<(int)s.size();i++){
if(s[i]==num) counts++;
}
return counts;//返回这个数(字符串)里面有几个目标数字
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;char num;
cin>>n>>num;
int cnt=0;
for(int i=1;i<=n;i++){
string t=to_string(i);//由于遍历的i是int,所以转化为string才能使用前面写的函数
cnt+=is_have_num(t,num);//每个数含有的目标个数累加起来
}
cout<<cnt<<endl;//输出总计
}
查看12道真题和解析
