P1980题解

发布时间 2024-01-09 22:14:17作者: Rayliuliu

自定义函数

定义一个自定义函数find_num用来记录数字x在该数里的个数。

int find_num(int n,int m){
   int cnt=0;
   while(n!=0){
      if(n%10=m){
         cnt++;
      }
      n/=10;
   }
   return cnt;
}

思路

1.定义及输入截止数/含有的数字/计数器

int n,m,cnt=0;
cin>>n>>m;

2.用for循环并调用自定义函数及计数

for(int i=1;i<=n;i++){
   cnt+=find_num(i,m);
}

3.输出

cout<<cnt;

至此,这道题就做完了。完整代码看下面。

完整代码

#include<iostream>
using namespace std;
int find_num(int a,int b){
    int cnt=0;
    while(a!=0){
        if(a%10==b){
            cnt++;
        }
        a/=10;
    }
    return cnt;
}
int main(){
    int n,m,cnt=0;
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        cnt+=find_num(i,m);
    }
    cout<<cnt;
    return 0;
}