Hello jvasilj1
Use this class. It will solve your problem.
import java.util.*;
public class AmicablePairs{
protected static Vector<Integer> getFactors(int number){
Vector<Integer> result = new Vector<Integer>();
for (int i = 1 ; i < number; i++){
if (number % i == 0) result.add(new Integer(i));
}
return result;
}
protected static int sumNumbers(Vector<Integer> numbers){
int result = 0;
for (Integer integer : numbers)
result += integer;
return result;
}
protected static void printNumbers(Vector<Integer> numbers){
for (Integer integer : numbers)
System.out.println(integer);
System.out.println();
}
public AmicablePairs(int bound){
for (int m = 2; m <= bound; m++){
for (int n = 2; n <= bound; n++){
if (
(sumNumbers(getFactors(m)) == n) &&
(sumNumbers(getFactors(n)) == m))
{
System.out.println(m + ", " + n);
}
}
}
}
}
Just use the constructor to run it:
That should help you. Ask, if you need help to understand this class.
