用java输入一个整数,判断1到整数之间所有的”完数“?

Python014

用java输入一个整数,判断1到整数之间所有的”完数“?,第1张

要使用Java输入整数,可以使用Scanner类。下面是一个示例:

要查找1和输入整数之间的所有“完美数字”,可以使用循环来遍历该范围内的所有数字。对于每个数字,您可以通过将其除以1和自身之间的所有数字,并将结果相加来检查它是否是一个完美的数字。如果和等于数字本身,那么它就是一个完美的数字。下面是一个示例:

注意,这个代码对于大数字可能不是很有效,因为它检查1和输入数字之间的每个数字。对于非常大的数字,使用不同的算法来寻找完美的数字可能会更有效。

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)

}

}

}