输出1000以内的完数 java

来源:百度知道 编辑:UC知道 时间:2024/05/24 14:49:29
class E3_6
{
public static void main(String[] args)
{
int j=1,sum=0,i=1;

for (j=6;j<=1000 ;j++ )
{

for (i=1;i<=j/2 ;i++ )
{
if (j%i==0)
{
sum=sum+i;

}
}

if (sum==j)
{
System.out.print(j+" ");
}

}

}
}

我写的一段,但是只输出了"6 7 "而且7还不是完数....请问毛病出在哪里
(完数:该数等于他的因子之和)

刚写了一段

个人觉得还是比较强大的 功能和显示上面...

想要多少有多少

#include<iostream.h>
#include<math.h>
void main()
{int i,j,k,d,n,a;
cout<<"输入在多少数字以内"<<endl;
cin>>a;
n=(-1+sqrt(1+8*a))/2;

for(i=1;i<n;i++)
{
d=(i+i*i)/2;
cout<<d<<"="<<"1";
for(j=0;j<i-1;j++)
{k=2+j;
cout<<"+"<<k;

}

cout<<endl;

}

}

对了
不好意思
这是C++...不是JAVA