java求完数代码 java算数代码

java求完数代码(某自然数除它本身以外的所有因子之和等于该数,则该数被称为完数。)

你的程序我帮你改完了,改动的地方见注释。

专注于为中小企业提供成都网站制作、网站设计、外贸网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业呈贡免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

完整的程序如下:

public class A {

public static void main(String[] args) {

for (int i = 2; i = 6; i++) {//这里把i6改成i=6 因为6是完数   

int s=0; //这里移动到for-i循环中 

int j=1; //这里移动到for-i循环中 

while(ji){    

if(i%j==0){     

s=s+j;     

}

j++;//这里移动到while-j循环外 

}   

if(s==i){    

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

}  

}

}

}

运行结果:

6

求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代码求1000之内的所有完全数

import java.util.ArrayList;

public class Testa {

public static void main( String[] args ) {

ArrayListInteger arrayList = new ArrayListInteger();

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

int k=0;

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

if(i%j==0){

k+=j;

}

}

if(k==i){

arrayList.add( i );

}

}

System.out.println(arrayList);

}

}


新闻名称:java求完数代码 java算数代码
标题网址:http://pwwzsj.com/article/dospdij.html