一個完數(shù)是指一個數(shù)恰好等于它的因子(除了它本身)之和。以下是一個C語言程序,用于輸出小于給定數(shù)的所有完數(shù)及其因子:
#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是一個完數(shù)\n", num);
}
}
int main() {
int limit;
printf("請輸入一個正整數(shù):");
scanf("%d", &limit);
printf("小于%d的完數(shù)有:\n", limit);
for (int i=1; i<limit; i++) {
printFactors(i);
}
return 0;
}
使用上述程序,用戶可以輸入一個正整數(shù),程序?qū)⒋蛴〕鲂∮谠摂?shù)的所有完數(shù)以及它們的因子。您可以根據(jù)需要修改程序,使其輸出大于給定數(shù)的完數(shù)。