一个数如果恰好等于它的因子之和,这个数就叫做完数.用java语言编程找出1000之内的所有完数

谢谢各位了!!

6
28
496

class PerfectNumber {
public static void main(String[] args) {
for (int i = 2; i <= 1000; i++)
if (isPerfectNumber(i))
System.out.println(i);
}

static boolean isPerfectNumber(int i) {
int sumof = 0;
int j;
for (j = 1; j <= i / 2; j++) {
if (i % j == 0) {
sumof += j;
}
}
return i == sumof;
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-07-27
henterji 高人

一个数如果恰好等于它的因子之和,这个数就称为”完数.编程序找出1000之 ...
int k1,k2,k3,k4,k5,k6,k7,k8,k9,k10;int i,a,n,s;for (a=2;a<=m;a++) \/\/ a是2~1000之间的整数,检查它是否为完数 {n=0; \/\/ n用来累计a的因子的个数 s=a; \/\/ s用来存放尚未求出的因子之和,开始时等于a for (i=1;i...

一个数如果恰好等于它的因子之和,这个数就称为完数,编写一个JAVA程序10...
int i,j;int sum;for(i=1;i<=1000;i++){ sum=0;for(j=1;j<i;j++){ if(i%j==0)sum+=j;} if(sum==i){ printf("%d its factors are ",i);for(j=1;j

...一个数如果恰好等于它的因子之和,这个数称为“完数”。编写一个...
如果能即等于0则j是数i的一个因子 sector[sectorcount++]=j; \/\/把因子j赋给存放完全数因子的数组sector sum=sum+j; \/\/把数i的因子j都累加起来 } } if(i==sum){ \/\/如果数i和它的因子的和相等,那么i就是完全数 System.out.print(i+"="); \/\/打印输出完...

...的完数:一个数如果恰好等于它的因子之和,这个数就称为 "完数...
} if ((sum - i) == i) cout << "1000以内的完数:" << i << endl;\/\/因子之和减去其本身(1*i也为其因子)如果等于这个数本身,则为完数 } }

一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+...
include"stdio.h"main(){ int j,i,k=0;for(j=6;j<1001;j++){ for(i=1;i<=j\/2;i++)if(j%i==0)k+=i;if(j==k){ printf("%4d its factors are ",k);for(i=1;i<=j\/2;i++)if(j%i==0)printf("%d,",i);printf("\\b \\n");} k=0;} getch()();} ...

一个数恰好等于它的因子之和,这个数就称“完数”。
\/*编程找出1000之内的"完数".完数指:一个数如果恰好等于它的因子之和.例如6=1+2+3 28=1+2+4+7+14 *\/ include<stdio.h> void main(){ static int k[10];int i,j,n,s;for(j=2;j<=1000;j++){ n=-1; s=j;for(i=1;i<j;i++){ if(j%i==0){ n++;s=s-i;k[n]=...

一个数如果恰好等于它的因子之和,这个数就称为完数。编程找出1000以内的...
代码文本:include "stdio.h"int main(int argc,char *argv[]){ int k,i,t,s;for(k=6;k<1000;k++){ for(s=0,t=k>>1,i=1;i<=t;i++)if(k%i==0)s+=i;if(s==k)printf("%4d",k);} putchar('\\n');return 0;} ...

一个数如果恰好等于它的因子之和,这个数就称为完数编程找出1000以内的...
include<stdlib.h> void main(){ int x,y,i,sum,h;int *a;printf("1000以内的所有完整数:\\n");for(i=1;i<=1000;i++) { sum = 1;a = (int *)malloc (i*sizeof(int));a[0]=1;for(x=2,h=1;x<i;x++){ y=i%x;if(y==0){ a[h] = x;sum+=x;h++;} } if(...

一个数如果恰好等于它的因子之和,这个数就称为“完数”。输出1000内的...
for(b=2;b

一个数如果恰好等于他的因子之和,,这个数叫完数求1000以内的所有完数...
int ws(int a,int b,int c){ int d;if (a>c) { if (a%c==0)b+=c;d=ws(a,b,c+1);} else if (c==a) { if (b==a) { return 1;} else return 0;} if (c==a-1&&d) { printf("%d is Prefect number\\n",a);} } int main(void){ int i;for (i=1; i<...

相似回答