「for」ループを使用して、28以降の最初の3つの完全数を見つけるにはどうすればよいですか。これが私が使っているコードです。
2つを超える数字は何も得られないようです。i <= 2000000000を増やすと、整数が大きすぎることがわかります。
public class JBaneling
{
public static void main(String args[])
{
System.out.println("3 nearest Perfect numbers after 29 ");
for (int i = 29; i <= 2000000000; i++) {
test1(i);
}
}
public static void test1(int number)
{
int sum = 0;
for(int divisor=1; divisor < number; divisor++)
{
if ((number % divisor) ==0)
{
sum = sum + divisor;
}
}
if(sum==number)
{
System.out.println(number + " is a perfect number");
}
}
}