写了一个求100以内完数的程序,不知道为什么又问题?高手帮看看,谢谢
class Do
{
static void num()
{
for ( int i = 1;i<=100;i++)
{
int sum =0;
for ( int j =1;j<=i;j++)
{
if(i%j==0)
{
sum = sum + j;
}
}
if(sum==i)
{
System.out.println("good number:"+i);
}
}
}
public static void main(String args[])
{
num();
}
}
把:for ( int j =1;j<=i;j++)
改为:for ( int j =1;j<i;j++)
j一定要比i小,不然把它本身包含进去了,除了1,谁都不可能成为“完数”了
for ( int j =1;j<i;j++)
OK!