題組內容
四、有關Java程式設計,回答下列問題:
(一)寫一找尋小於10,000的完美數(Perfectnumber)程式,所謂完美數是指:如果一個正整數等於它所有正因數的和,但不包括它自己,則此正整數被稱為完美數。例如,6是第一個完美數,因為6=3+2+1。接 下來是28=14+7+4+ 2 + 1。(11 分)
詳解 (共 2 筆)
詳解
首先,我們要了解什麼是完美數。完美數的定義是:如果一個正整數的所有正因數(除了它自己)相加之後,等於這個數本身,那麼這個數就是完美數。例如,6 是完美數,因為它的正因數是 1、2 和 3,這三個數相加等於 6。28 也是完美數,因為 28 的正因數有 1、2、4、7、14,這五個數相加等於 28。
接著,我們要撰寫一個程式來尋找小於 10,000 的完美數。這意味著我們需要從 1 到 10,000 的每個數字檢查它是否是完美數。如果是完美數,我們就將它列出來。

6 是一個完美數
28 是一個完美數
496 是一個完美數
8128 是一個完美數
28 是一個完美數
496 是一個完美數
8128 是一個完美數
詳解
這是一個用來尋找小於10,000的完美數的 Java 程式代碼。您可以將以下代碼保存為 .java 檔案,然後用 Java 編譯並執行它。
java
Copy code
public class PerfectNumbers {
public static void main(String[] args) {
for (int number = 1; number <= 10000; number++) {
if (isPerfectNumber(number)) {
System.out.println(number + " 是一個完美數。");
}
}
}
Copy code
public class PerfectNumbers {
public static void main(String[] args) {
for (int number = 1; number <= 10000; number++) {
if (isPerfectNumber(number)) {
System.out.println(number + " 是一個完美數。");
}
}
}
private static boolean isPerfectNumber(int number) {
int sum = 0;
for (int i = 1; i <= number / 2; i++) {
if (number % i == 0) {
sum += i;
}
}
return sum == number;
}
}
要執行此代碼:
int sum = 0;
for (int i = 1; i <= number / 2; i++) {
if (number % i == 0) {
sum += i;
}
}
return sum == number;
}
}
要執行此代碼:
將代碼保存為名為 PerfectNumbers.java 的檔案。
使用 javac PerfectNumbers.java 命令編譯代碼。
執行編譯後的類別,使用 java PerfectNumbers 命令。
程式將輸出所有小於10,000的完美數。
使用 javac PerfectNumbers.java 命令編譯代碼。
執行編譯後的類別,使用 java PerfectNumbers 命令。
程式將輸出所有小於10,000的完美數。