只有70分,2,5,8报错,麻烦帮忙看看
查看原帖
只有70分,2,5,8报错,麻烦帮忙看看
1292265
Zzz123456789101112楼主2024/3/3 18:25
#include<iostream>
using namespace std;
void Judge(int a,int x,int *i){
    if(a%10==x){//判断个位是否含有x
        (*i)++;
    }
    int b=(a-a%10)/10;//通过b=(a-a%10)/10,利用递归依次判断高位是否含有x
    if(b>10){//为保证递归不会溢出设置b>10,对b<10特殊讨论不带入递归
        Judge(b,x,i);
    }
    if(b==x){
        (*i)++;
    }
}
int main(){
    int n,x,i;
    cin>>n>>x;
    for(int a=1;a<=n;a++){
        if(a==x){
            i++;
            continue;
        }
        Judge(a,x,&i);
    }
    cout<<i;
    return 0;
    
}
2024/3/3 18:25
加载中...