「java输出完数」JAVA完数

博主:adminadmin 2022-11-21 22:38:06 54

今天给各位分享java输出完数的知识,其中也会对JAVA完数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

用java编写输出2到500之间的所有完数

import java.util.HashSet;

import java.util.Set;

public class Main {

public static void main(String[] args) {

for (int i = 2; i  500; i++) {

check(i);

}

}

private static void check(int i) {

SetInteger set = new HashSetInteger();

set.add(1);

for (int j = 2, l = (int) Math.sqrt(i); j = l; j++) {

if (i % j == 0) {

set.add(j);

set.add(i / j);

}

}

int sum = 0;

for (int j : set) {

sum += j;

}

if (sum == i) {

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

for (int j : set) {

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

}

System.out.println();

}

}

}

求采纳

「java输出完数」JAVA完数

完数(Java编程),输入输出样式已给出

按照你的要求编写的判断完数的Java程序如下

import java.util.Scanner;

public class E {

 public static void main(String[] args) {

  System.out.println("请输入一个正整数");

  Scanner sc=new Scanner(System.in);

  int num=sc.nextInt();

  int sum=0;

  int[]a=new int[32];

  int n=0;

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

   if(num % i==0){

    sum=sum+i; 

    a[n]=i;

    n++;

   }

  }

  if(num==sum){

   for(int j=0;jn;j++)

    System.out.println(a[j]);

  }else{

   System.out.println("no");

  }

 }

}

运行结果

请输入一个正整数

6

1

2

3

java求100以内完数。

看不懂的话给我发信息。我已经写的很详细了,有些基本语法要不懂,可以查下百度。

public class test{

//取出1-no之间的所有完数

public static void getWS(int no){

for(int i=4;i=no;i++){//因为1,2,3肯定不是完数,就姑且从4开始检查,一直检查到no

if(checkWS(i)){

System.out.println(i);//调用checkWS(int n)方法,检查该整数是否是完数。如果该数是完数,输出。

}

}

}

//判断整数n是否是完数

public static boolean checkWS(int n){

int sum=1;//1肯定是一个能整除整数n的被除数,初始化n的所有因子之和sum

for(int i=2;i=n/2;i++){

if(n%i==0){//%求余,如果余数等于0,则i为该整数的因子,那么把sum=sum+i.这里只检查从2到n/2之间的数,因为大于4的整数最大的因子不会超过他的一半, 这样能提高程序效率

sum+=i;

}

}

return sum==n?true:false;//如果最终因子和sum等于它本身则返回true,否则返回false

}

public static void main(String args[]){

getWS(100);//输出100内的完数,这里的数字填多少就找出1-多少之间的所有完数

}

}

编写java循环程序,找出1000以内的所有完数

public class Test {

    public static void main(String[] args) {

        int i,j,sum;    //sum用来存放因子之和        

        for(i=1;i1000;i++)   //对1到1000以内的数依次尝试

        {

           sum = 0;          //给sum赋值,同时也是对上一次的值清空

           for(j=1;j=i/2;j++)   //查找因子

           {

               if(i%j==0)          // 如果是因子

               {

                    sum+=j;        //把当前的因子累加到sum中   

               }

           }

           if(sum==i)            //判断是不是完数,即因子之和等于自身

           {

               System.out.print(i+" its factors are:   ");        //是完数,输出

            for(j=1;j=i/2;j++)                          //再次找出这个完数的因子

            {

               if(i%j==0)                                    //输出各个因子

                System.out.print(j+", ");

               }

               System.out.println();

            }

        }

    }

}

这些题百度里面都是找得到的

关于java输出完数和JAVA完数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-21,除非注明,否则均为首码项目网原创文章,转载请注明出处。