这应该是对新手比较友好的解题了吧
查看原帖
这应该是对新手比较友好的解题了吧
1579381
kexing楼主2024/11/27 23:49
#include<stdio.h>

int spart(int a, int b, int c)
{
    int number[9] = {0};  // 数组用来存储1到9的数字
    // 拆分a, b, c三个数字,分别存储它们的每一位
    for (int i = 0; i < 3; i++) {
        number[i] = a % 10;
        number[i + 3] = b % 10;
        number[i + 6] = c % 10;
        a /= 10;
        b /= 10;
        c /= 10;
    }

    for (int i = 0; i < 8; i++)    // 检查是否有重复的数字
        {
        for (int j = i + 1; j < 9; j++) {
            if (number[i] == number[j]||number[j]==0) return 0;  // 有重复的数字,返回0
        }
    }
    return 1;  // 没有重复的数字,返回1
}

void main() {
    int a, b, c;
    // 遍历所有的三位数a,确保a <= 329,b = 2*a, c = 3*a
    for (a = 123; a <= 329; a++) {
        b = 2 * a;
        c = 3 * a;
        if (spart(a, b, c) == 1) {  // 如果a, b, c符合条件
            printf("%d %d %d\n", a, b, c);  // 输出满足条件的结果
        }
    }
}
2024/11/27 23:49
加载中...