一個數如果恰好等於它的因子之和,這個數就稱為“完數”例如,6的因子為1,2,3,而6=1+2+3,因此6是“完數”。程式設計序找出1000之內的所有完數,並按下面格式輸出其因子:
阿新 • • 發佈:2020-07-21
一個數如果恰好等於它的因子之和,這個數就稱為“完數”。例如,6的因子為1,2,3,而6=1+2+3,因此6是“完數”。程式設計序找出1000之內的所有完數,並按下面格式輸出其因子:
6 its factors are 1,2,3
答案解析:
因子:整數a除以整數b(b≠0) 的商正好是整數而沒有餘數,我們就說b是a的因子。整數n除以m,結果是無餘數的整數,那麼我們稱m就是n的因子。 需要注意的是,唯有被除數,除數,商皆為整數,餘數為零時,此關係才成立。因子是不包括自身的
舉一個例子:20 = 4 * 5,則4和5就是20的因子,也被稱之為因子
程式碼示例:
#include<stdio.h> int main() { int data, fator, sum; /* data表示要判斷的數,fator表示因子,sum表示因子之和*/ for (data = 2; data <= 1000; data++) { //1是所有整數的因子,所以因子之和從1開始 sum = 1; for (fator = 2; fator <= data / 2; fator++) { /* 判斷data能否被fator整除,能的話fator即為因子 因子不包括自身 */ if (data % fator == 0) { sum += fator; } } // 判斷此數是否等於因子之和 */ if (sum == data) { printf("%d its factors are 1, ", data); for (fator = 2; fator <= data / 2; fator++) { if (data % fator == 0) { printf("%d, ", fator); } } printf("\n"); } } return 0; }