求助

题目总版

wxhhpsmaq__ @ 2024-11-14 22:13:54



#include<bits/stdc++.h>
using namespace std;
long long x,y,m;
long long a[55];
bool p(int x,int k){//判断数字k是不是x的头部 
    for(int i=1;i<=x;i=i*10){
        if(x/i==k) return true;
    }
    return false;
}
bool judge(int x){//判断x是否含有保留字
    for(int i=1;i<=m;i++){
        if(p(x,a[i])) return false;
    } 
    return true;//非头部,返回真 
}
int main(){
    cin>>x>>y>>m;
    for(int i=1;i<=m;i++) cin>>a[i];//不可取的保留号 
    long long ans=0;
    for(long long i=x;i<=y;i++){
        if(judge(i)) ans++;//判断这个数字i含有保留字 
    } 
    cout<<ans;
    return 0;
}

|