关于RE
查看原帖
关于RE
173534
CodeRyne楼主2025/2/6 02:10

0不能作为被除数,需要特判

#include <bits/stdc++.h>

using namespace std;

int digitCount[10];

void seperate(int num){
    digitCount[num%10]++;
    digitCount[num/10%10]++;
    digitCount[num/100]++;
}
bool checkN(int a,int b,int c){
    memset(digitCount,0,sizeof(digitCount));
    if (b>999 || c>999) return false;
    seperate(a);
    seperate(b);
    seperate(c);
    for (int i = 1; i < 10; i++)
    {
        if (!digitCount[i]) return false;
    }
    return true;
}
//三连击
int main(){
    long long A,B,C,b,c,cnt = 0;
    cin >> A >> B >> C;
    
    //A作为除数不能为0
    if (!A){
        cout << "No!!!";
        return 0;
    }

    for (long long a = 123; a <= 987; a++)
    {
        if (a*B%A || a*C%A) continue;
        b = a*B/A;
        c = a*C/A; 
        if (checkN(a,b,c)){
            cout << a << " " << b << " " << c << endl;
            cnt++;
        }
    }
    if (!cnt) cout << "No!!!";
}
2025/2/6 02:10
加载中...