什么是完數?
如果一個數等於它的因子之和,則稱該數為“完數”(或“完全數”)。
例如,6的因子為1、2、3,而 6=1+2+3,因此6是“完數”。
程序框圖:m
問題分析
根據完數的定義,解決本題的關鍵是計算出所選取的整數m(m的取值范圍不固定)的因子(因子就是所有可以整除這個數的數),將各因子累加到變量sum (記錄所有因子之和),若sum等於m,則可確認m為完數,反之則不是完數。
代碼:
#include<stdio.h> int main() { int m, n, sum = 0; printf("請輸入一個正整數:\n"); scanf_s("%d", &m); for (n = 1; n < m - 1; n = n + 1) if (m % n == 0) sum = sum + n; if (m == sum) printf("該數是完數\n"); else printf("該數不是完數\n"); }

