当前页面: 开发资料首页 → J2SE 专题 → 求完数
求完数
摘要: 求完数
为什么输不出任何的结果
完数:一个数恰好等于它的因子之和(包括一但不包括它本身)
//03讲求完数
class a3
{
public static void main(String args[])
{
int i,j,sum=0,k;
int a[]=new int[20];
for(i=0;i<=19;i++)
a[i]=0;
for(i=2;i<=1000;i++)
{
k=0;
for(j=1;j
{
if(i%j==0) {
a[k]=j;
sum=sum+a[k];
k++;
}
}
if(i==sum) {
System.out.println(i+"的因子");
for(k=0;k<=19;k++) System.out.println(a[k]);
}
}
}
}
在if(i==sum) {
System.out.println(i+"的因子");
for(k=0;k<=19;k++) System.out.println(a[k]);
}后面加
sum = 0;
判断完一个数后不给sum清零怎么可能得到真正的因子值
public class a3
{
public static void main(String args[])
{
int i,j,sum=0,k;
int a[]=new int[50];
for(i=0;i<50;i++)
a[i]=0;
for(i=2;i<=1000;i++)
{
sum=0;
k=0;
for(j=1;j
{
if(i%j==0) {
a[k]=j;
sum=sum+a[k];
k++;
}
}
if(i==sum) {
System.out.println(i+"的因子");
for(j=0;j
}
}
}
}
小问题比较多
我觉的好像程序有问题,得出的因子结果不对
谢谢各位高手了!我整了好半天都没整出来!头都快大了!