Java: Finding perfect numbers

A perfect number is a positive integer that is equal to the sum of its proper positive divisors excluding itself. It is also called aliquot sum. The first perfect number is 6, because 6=1 + 2 + 3. The next perfect number is 28 = 1 + 2 + 4 + 7 + 14
Here is a java program for finding perfect numbers.
[code language=”java”]
import java.util.ArrayList;
public class IsPerfectNumber {

public static boolean isPerfectNumber(int num)
{
boolean isPerfect = false;
int sum=1;

if(num<6)return false;

for(int i=2; i<=num/2; i++)
{
if(num%i == 0)
{
sum += i;
}
}

if(sum==num) return true;

return isPerfect;
}

public static void main(String args[])
{
int range = 10000;
ArrayList<Integer> perfectNums = new ArrayList<Integer>();
for(int i=0; i<=range;i++)
{
if(IsPerfectNumber.isPerfectNumber(i))
perfectNums.add(i);
}

System.out.format("Perfect numbers within %s: %s\n",range,perfectNums.toString());
}
}
[/code]

Perfect numbers within 10000: [6, 28, 496, 8128]

Search within Codexpedia

Custom Search

Search the entire web

Custom Search