请各位大虾们指导一下,java小程序
一个数如果恰好等于它的因子之和,这个数就称为“完数”,编写一个应用程序,求1000之内的所有完数。
[code=Java][/code]
public class Wanshu
{
public static void main(String args[])
{
int num=0;
int i,j;
for(i=2;i<=1000;i++)
{
for(j=2;j<=i/2;j++)
{
if(i%j==0)
{
num+=j-1;
}
}
if(num==i)
System.out.println("完数i="+i);
num=0;
}
}
}
这是我写的,可是运行得不想要的到结果。
希望各位大虾帮帮忙,谢谢!!!
------解决方案--------------------
Java code
int num = 0;
int i, j;
for (i = 2; i <= 1000; i++) {
for (j = 1; j <= i / 2; j++) {
if (i % j == 0) {
num += j ;
}
}
if (num == i)
System.out.println("完数i=" + i);
num = 0;
}