C語言例題——輸出1000以內的所有完數
阿新 • • 發佈:2020-12-28
一個數如果恰好等於它的各個因子之和,這個數就稱為“完數”。例如,6的因子為1,2,3,而6=1+2+3,因此6是“完數”。程式設計找出1000之內的所有完數,並按下面的格式輸出其因子:
6 its factors are 1,2,3
#include "stdio.h"
void main() {
int i, j, sum, k;
for (i = 2; i <= 1000; i++) {
// 每判斷一個數時,將sum置為0
sum = 0;
// 這個地方不寫“=”,排除這個數自身 真因子指的是除了自身以外的約數,完數概念中的“因子”是“真因子”
for (j = 1; j < i; j++) {
// 如果能被整除,則j即為i的因子
if (i % j == 0) {
// 將這個數的各個因子加起來
sum += j;
}
}
// 說明這個數是完數,找到其因子並按照規定格式輸出即可
if (sum == i) {
// 輸出前半部分 “x its factors are”
printf("%d its factors are " , i);
// 輸出這個數的每一個因子
for (k = 1; k < i; k++) {
if (i % k == 0) {
printf("%d,", k);
}
}
// 游標退到最後一個逗號位置之上然後輸出空格使逗號消失
printf("\b ");
// 換行
printf("\n" );
}
}
}
執行結果:
初學C語言,如有錯誤,還望指正。