Description
import java.util.ArrayList;
public class euler23 {
public static void main(String[]args) {
ArrayList<Integer> list = new ArrayList<Integer>();
int[] array = new int[28123];
int sum = 0;
for (int i = 1; i < 28123; i++) {
int s = sumDiv(i);
if (i < s)
array[i] = 1;
else
array[i] = 0;
}
for (int i = 0; i < array.length; i++) {
if (array[i] != 0) {
list.add(i);
}
}
int [] a = new int[28123];
int sum1 = 0;
for (int i = 0; i < list.size(); i++) {
for (int j = i; j < list.size(); j++) {
if (list.get(i) + list.get(j) < 28123) {
sum1 = list.get(i) + list.get(j);
a[sum1] = 1;
sum1 = 0;
}
}
}
int sumF = 0;
for (int i = 0; i < 28123; i++) {
if (a[i] == 0) {
sumF += i;
}
}
System.out.println(sumF);
}
public static int sumDiv(int n) {
int sum = 0;
for (int i = 1; i*i <= n; i++) {
if (n % i == 0) {
if (i > 1 & i*i != n)
sum += n/i;
sum += i;
}
}
return sum;
}
}
Leave a Reply