c语言

c语言怎么输出完数及其因子

小亿
117
2024-05-28 10:19:09
栏目: 编程语言

一个完数是指一个数恰好等于它的因子(除了它本身)之和。以下是一个C语言程序,用于输出小于给定数的所有完数及其因子:

#include <stdio.h>

void printFactors(int num) {
    int sum = 0;
    printf("%d的因子有:", num);
    for (int i=1; i<num; i++) {
        if (num % i == 0) {
            printf("%d ", i);
            sum += i;
        }
    }
    printf("\n");
    if (sum == num) {
        printf("%d是一个完数\n", num);
    }
}

int main() {
    int limit;
    printf("请输入一个正整数:");
    scanf("%d", &limit);

    printf("小于%d的完数有:\n", limit);
    for (int i=1; i<limit; i++) {
        printFactors(i);
    }

    return 0;
}

使用上述程序,用户可以输入一个正整数,程序将打印出小于该数的所有完数以及它们的因子。您可以根据需要修改程序,使其输出大于给定数的完数。

0
看了该问题的人还看了