完美數和真因子是數論領域里常見的概念。在Java中,我們可以使用代碼來求解完美數和真因子。
/** * 判斷一個數是否為完美數 * * @param n 需要判斷的數 * @return true表示是完美數,false表示不是完美數 */ public static boolean isPerfectNumber(int n) { int sum = 1; for (int i = 2; i<= n / 2; i++) { if (n % i == 0) { sum += i; } } return sum == n; } /** * 求一個數的真因子 * * @param n 需要求真因子的數 * @return 真因子列表 */ public static ListgetProperFactors(int n) { List factors = new ArrayList<>(); for (int i = 2; i<= n / 2; i++) { if (n % i == 0) { factors.add(i); } } return factors; }
以上是Java求解完美數和真因子的代碼。對于isPerfectNumber方法,我們可以利用循環遍歷出所有n的因子,求和后判斷是否等于n。如果相等,則n是完美數。對于getProperFactors方法,我們同樣使用循環遍歷出所有n的因子,放在一個List中返回。
通過以上代碼,我們可以高效地求解完美數和真因子。