21xrx.com
2024-09-20 06:23:28 Friday
登录
文章检索 我的文章 写文章
如何用Java编写求完数的程序
2023-06-17 05:11:05 深夜i     --     --
完数 Java代码 循环和判断

完数,也就是所有因子之和等于自身的正整数,比如6就是一个完数,因为6的因子有1、2、3,它们之和正好等于6。如果你想在Java中实现一个求完数的程序,就需要用到循环和判断语句。下面我们就来一步步地实现这个程序。

首先,定义一个整型变量n,表示我们要求的完数范围,同时定义一个整型变量sum,用于存储当前处理的数字的因子之和。然后用for循环执行n次,每次判断当前处理的数字是否为完数。具体实现思路如下:

- 在for循环中每次取一个数字i,从2到i的开方+1循环判断i是否为n的因子,如果是,则将其加到sum中;

- 判断sum是否等于i,如果相等,则i是一个完数,将i输出。

根据上述思路,我们可以用Java代码实现一个求完数的程序,具体代码如下:


import java.util.Scanner;

public class PerfectNumber {

  public static void main(String[] args) {

    Scanner scan = new Scanner(System.in);

    System.out.print("请输入要查找的完数范围:");

    int n = scan.nextInt();

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

      int sum = 1; // 因子之和至少为1

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

        if (i % j == 0) {

          sum += j;

          if (j != i / j) {

            sum += i / j;

          }

        }

      }

      if (sum == i) {

        System.out.println(i + "是一个完数");

      }

    }

    scan.close();

  }

}

运行上述程序,输入一个正整数n,即可打印出从2到n之间的所有完数。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复