java实现求1000以内的全部亲密数(附完整源码)
时间: 2024-01-22 08:03:17 浏览: 81
以下是Java实现求1000以内的全部亲密数的完整源码,供参考:
```
public class AmicableNumber {
public static void main(String[] args) {
int n = 1000;
for (int i = 1; i < n; i++) {
int sum1 = sumOfDivisors(i);
int sum2 = sumOfDivisors(sum1);
if (i == sum2 && i < sum1) {
System.out.println(i + "和" + sum1 + "是一对亲密数");
}
}
}
public static int sumOfDivisors(int n) {
int sum = 0;
for (int i = 1; i <= n / 2; i++) {
if (n % i == 0) {
sum += i;
}
}
return sum;
}
}
```
该代码实现了求1000以内的全部亲密数的算法,通过遍历1到1000的所有整数,分别计算其因数之和,再根据亲密数的定义判断是否满足条件,最后输出结果。在算法实现中,使用了一个辅助函数sumOfDivisors,用于计算一个整数的因数之和。
阅读全文