用java代码求500以内的亲密数对
时间: 2024-05-13 08:20:39 浏览: 109
亲密数指两个正整数中,彼此的所有真因子之和(即除本身以外的所有因子之和)与另一个数相等。例如,220和284就是一对亲密数。
以下是求500以内的亲密数对的Java代码:
```java
public class AmicableNumbers {
public static void main(String[] args) {
for (int i = 1; i <= 500; i++) {
int sum1 = getSumOfProperDivisors(i);
int sum2 = getSumOfProperDivisors(sum1);
if (i == sum2 && i < sum1) {
System.out.println(i + "和" + sum1 + "是一对亲密数");
}
}
}
// 获取一个整数的所有真因子之和
private static int getSumOfProperDivisors(int n) {
int sum = 0;
for (int i = 1; i <= n / 2; i++) {
if (n % i == 0) {
sum += i;
}
}
return sum;
}
}
```
输出结果:
```
220和284是一对亲密数
```
阅读全文