以上为问题截图,下面为其中的一种算法。
package com.euler;
public class P21 {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 10000; i++) {
int a = count(i);
if (a != i) {
int b = count(a);
if (b == i) {
sum += i;
}
}
}
System.out.println(sum);
}
public static int count(int x) {
int sum = 1;
for (int i = 2; i < Math.sqrt(x) + 1; i++) {
if (x % i == 0) {
sum += i;
sum += x / i;
}
}
return sum;
}
}