1-1000之間的完數
阿新 • • 發佈:2019-02-01
一個數如果恰好等於它的因子和,這個數就成為完數。
例如:6 = 1 + 2 + 3。再如 8 的因子和是7(即1 + 2 + 4),8不是完數。
程式設計找出1000以內的所有完數。
public class PerfectNum { public static void main(String[] args) { for (int i=1; i <= 999; i++) { if (isPrefectNum(i)) { System.out.println(i); } } } /** * 判斷num是否為完數 * @param num 入參num * @return true 完數;false 不是完數 */ public static boolean isPrefectNum(int num) { // 定義因子和,預設加上了因子1 int factorSum = 0; for (int i=1; i<num; i++) { // 如果num 模 i 等於0 ,說明i 為 num 的因子 if (num % i == 0) { // 將i值加到factorSum 上 factorSum += i; } } return factorSum == num; } }