1 条题解

  • 0
    @ 2023-11-9 19:24:42
    • 合数
    • 合数的各位数字之和
    • 合数的所有质因数的各数字之和
    #include <stdio.h>
    
    int main() {
        int n, cnt = 0; scanf("%d", &n);
        for (int i = 1; i <= n; i++) {
            int f = 1; // 假设 i 是素数
            for (int j = 2; j <= i / j; j++)
                if (i % j == 0) { f = 0; break; }
            if (f == 0) {  // i为 合数
                int t = i, a = 0, b = 0;
                // a 表示合数的各位数字之和
                // b 表示所有质因数的各数字之和
                while (t) { a += t % 10, t /= 10; }
                t = i;
                for (int j = 2; j <= i; j++) {
                    while (t % j == 0) {
                        t /= j;
                        int tt = j;
                        while (tt) { b += tt % 10, tt /= 10; }
                    }
                }
                if (a == b) {
                    printf("%d ", i);
                    cnt++; // 记录输出个数,每 5个换行
                    if (cnt % 5 == 0) puts("");
                }
            }
        }
        return 0;
    }
    
    • 1

    信息

    ID
    79
    时间
    1000ms
    内存
    16MiB
    难度
    7
    标签
    递交数
    87
    已通过
    19
    上传者