java求完数的代码 Java求完数

java求完数

因为这里的sum实际上就是你要的完数,所以你在1到1000之内,没算一次完数,就需要把sum置为0;不然就像你把int sum=0;放到for(int i=1;i=1000;i++)之前,sum每次都没有置0,sum会一直累加,所以sum不会等于i,所以没有输出结果了

创新互联公司-专业网站定制、快速模板网站建设、高性价比东宁网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式东宁网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖东宁地区。费用合理售后完善,十载实体公司更值得信赖。

JAVA编程 完全数

public class PerfectNumber{

private static String[] isPrefectnumber(int n){

int sum=0;

StringBuffer sBuffer = new StringBuffer();;

for (int i = 1; i n; i++) {

if (n % i == 0){

sum += i;

sBuffer.append(","+i);

}

}

if (sum==n) {

return sBuffer.toString().replaceFirst(",", "").split(",");

}else {

return new String[0];

}

}

public static void main(String[] args){

String[] al= isPrefectnumber(t);

if (al.length!=0) {

StringBuffer sb = new StringBuffer();

sb.append(t+"是完数,其因子为");

for (int i = 0; i al.length ; i++) {

sb.append(","+al[i]);

}

System.out.println(sb.toString());

} else {

System.out.println(t+"不是完数");

}

}

}

求1000以内的所有完数

#include stdio.h

void main()

{

int i,j;

printf("1000之内的所有完数:\n");

for(i=6;i1000;i++){

int sum=0;

for(j=1;ji;j++){

if(i%j==0)

sum = sum+j;

}

if(sum==i)printf("%d,",i);

}

}

输出结果为:6,28,496

原代码中的sum 初始化的位置是错误的,导致结果不正确,正确代码请看我的回答。

扩展资料:

完数,一般指完全数,一个自然数如果它的所有真因子(即除了自身以外的约数)的和等于该数,那么这个数就是完全数,如:6的真因子有1 、2、3,6=1+2+3,所以6是一个完全数。

求1000以内的完数可以用C,C++、java和Pascal语言等,下面举例java语言实现代码。

用java编写1000以内的完数如下:

public class PerfectNumber {    public static void main(String[] args) {    System.out.println("1000以内的所有完数有:");    for (int i = 2; i 1000; i++) {// 遍历1000以内的所有整数      int sum = 0;// 定义和变量      for (int j = 1; j i; j++) {        if (i % j == 0) {// 满足是i的因子,就累加          sum += j;        }      }      if (sum == i) {// 满足因子之和等于i就打印该完数        System.out.print(i + " ");      }    }  }}

java编程 求完全数

直接把我的答案复制测试,一定通过。。

注意:类名

public class QiouWanQuanShu {

public static void main(String[] args) {

int sum=0; //用来存放因数的和

System.out.print("1000中de完全数有:");

for(int i=1;i=1000;i++){ //循环1000次

for(int j=1;ji;j++){

if(i%j==0) //判断除数是否被整除

sum=sum+j;

}

if(i==sum) //判断因数是否与这个数的本身想等

System.out.print(i+" ");

sum=0; //初始存放因数的和,下次循环继续用

}

}

}


网站名称:java求完数的代码 Java求完数
标题网址:http://ybzwz.com/article/docodde.html