排列

用1,2,3,…,9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:3。按照“abc def ghi”的格式输出所有解,每行一个解。提示:不必太动脑筋。

#include

int main(){
    int min = 123;
    int max = 329;
    for (int i = min; i <= max;i++){
        int i1 = i / 100;
        int i2 = i / 10 % 10;
        int i3 = i % 10;
        int j = i * 2;
        int a = j / 100;
        int b = j / 10 % 10;
        int c = j % 10;
        int k = i * 3;
        int d = k / 100;
        int e = k / 10 % 10;
        int f = k % 10;
        //1~99个数字的和是45,积是362880
        if (i1 + i2 + i3 + a + b + c + d + e + f == 45 && i1 * i2 * i3 * a * b * c * d * e * f == 362880){
            printf("%d %d %d\n",i,i*2,i*3);
        }
    }
    return 0;
}

排列_第1张图片

你可能感兴趣的:(算法竞赛入门经典)