Here is the code ....
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class test5 {
public static void main(String[] args) {
// TODO Auto-generated method stub
List d = getPerfectNumbers(1, 1000);
Iterator itr = ((ArrayList < Integer > ) d).listIterator();
while (itr.hasNext())
System.out.println(itr.next());
}
public static java.util.List < Integer > getPerfectNumbers(int from, int to) {
/*
return a list of all perfect numbers in the given range inclusively.
A perfect number is defined as a positive integer which is the sum of its positive divisors not including the number itself.
For example: 6 is a perfect number because 6 = 1 + 2 + 3 (1, 2, 3 are divisors of 6)
28 is also a perfect number: 28 = 1 + 2 + 4 + 7 + 14
*/
int k;
java.util.List < Integer > l = new ArrayList < Integer > ();
for (int p = from; p <= to; p++) {
k = sum(p);
if (k == p) {
l.add(p);
}
}
return l;
}
public static int sum(int t) {
int sum = 0;
for (int i = 1; i < t; i++) {
if (t % i == 0)
sum = sum + i;
}
return sum;
}
}
No comments:
Post a Comment