so this is the assignment
Let d(n) be defined as the sum of proper divisors of n (numbers less than n which divide evenly into n).
If d(a) = b and d(b) = a, where a b, then a and b are an amicable pair and each of a and b are called amicable numbers.
For example, the proper divisors of 220 are 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 and 110; therefore d(220) = 284. The proper divisors of 284 are 1, 2, 4, 71 and 142; so d(284) = 220.
Evaluate the sum of all the amicable numbers under 10000
this is what I have
WARNING: if you have are running the program start task manager cuz it runs through a infinte loop for some reason
public class AmicableNumber {
public static void main(String args[]){
int sum=0;
for(int i=2;i<10000;i++){
for(int j =1;j<i;j++){
if(isAmicable(i,j)==true){
sum+=i;
}
}
}
System.out.println(sum);
}
//this would work right?
public static int n(int a){
int sum = 1;
for(int i=2;i<a;i++){
if(a % i == 0){
sum += i;
}
}
return sum;
}
//is this right
public static boolean isAmicable(int a,int b){
//would this work
return n(a) == n(b) && n(b)==n(a);
}
}