判断10000以内的完数
for(long i =1i<10000i++){
long sum=0
for (long j=1j<i+1 j++ )
{
if(i%j==0){
sum+=j
}
}
if(sum/2==i){
System.out.println(i)
}
}
不知道我的理解对不对。。。。。
public class PerfectNum
{
public static void main ( String[] args )
{
for ( int i = 2 i < 1000 i++ )
{
if (perfectNum (1, i) == i)
{
System.out.print (i + " ")
}
}
}
private static long perfectNum ( long start, long num )
{
if (start > num / 2)
{
return 1
}
start++
if (num % start == 0)
{
return start + perfectNum (start, num)
}
else
{
return perfectNum (start, num)
}
}
}