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
Search the entire web