招引的近义词:JAVA,请帮我看一下这程序哪有问题,再帮我补个好的

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/12 18:39:33
各位朋友求1-1000内所有完数,程序如下
public class d4
{ public static void main(String args[])
{ int i,j,m=0;
for(i=2;i<=1000;i++) //列出2-1000
{ for(j=2;j<=i/2;j++) //分别于其小的数除
{ if(i%j==0) //判断是否可除
{ m=m+j; //除数相加
}
if (i==m+1) //比较
{ System.out.println(i); //输出
}
}
}
}
}
程序可以编译,但不输出任何东西,请人指导,如果有这个程序的JAVA精简代码,请贴出指导.

一个数如果正好等于它的因子之和,这个数就称为完数.
以下是在原文基础上所做的修改,调试运行通过:
public class d4
{
public static void main(String args[])
{
int i,j;
for(i=1;i<=1000;i++) //列出2-1000
{
int sum = 0;
for(j=1;j<=i/2;j++) //分别于其小的数除
{
if(i%j==0) //判断是否可除
{
sum=sum+j; //除数相加
}
if (i==sum) //比较
{
System.out.println(i); //输出
}
}
}
}
}