输出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还不是完数....请问毛病出在哪里
(完数:该数等于他的因子之和)
{
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