21xrx.com
2024-12-22 17:19:05 Sunday
登录
文章检索 我的文章 写文章
Java中的完数
2023-07-14 06:20:16 深夜i     --     --
Java 完数 素数 因数 循环

Java是一门著名的编程语言,它拥有强大的数学库和算法,可以实现各种数学运算。完数是一种与数学有关的概念,是指一个数恰好等于其所有因子(除了自身)的和。在Java中,可以使用循环和条件语句实现完数的计算。

首先,我们可以使用一个for循环来遍历整数序列,检查每个数字是否为完数。在每次循环中,我们需要计算当前数字的所有因子,并将其存储在一个ArrayList中。然后,我们可以使用一个for-each循环来计算所有因子的和,如果和等于当前数字,则该数字为完数。

以下是一个简单的Java程序,用于计算1到10000范围内的完数:


import java.util.ArrayList;

public class PerfectNumber {

 public static void main(String[] args) {

  int limit = 10000;

  for (int i = 1; i <= limit; i++) {

   ArrayList<Integer> factors = new ArrayList<Integer>();

   int sum = 0;

   for (int j = 1; j < i; j++) {

    if (i % j == 0)

     factors.add(j);

   }

   for (int factor : factors)

    sum += factor;

   if (sum == i)

    System.out.println(i + " is a perfect number");

  }

 }

}

在上面的程序中,我们首先定义了一个变量limit,指定了要计算的数字范围。然后,我们使用一个for循环来遍历从1到limit的数字,对于每个数字,我们都会重新创建一个ArrayList和一个初始和值为零的sum变量。我们使用内部循环来计算当前数字的所有因子,并将它们存储在ArrayList中。接下来,我们使用一个for-each循环来计算所有因子的和,并检查和是否等于当前数字。如果是,则打印该数字为完数。

运行上面的程序,输出结果如下:


6 is a perfect number

28 is a perfect number

496 is a perfect number

8128 is a perfect number

这些数字都是完数,它们恰好等于它们的因子和(除了它们自己)。

总之,Java是一门强大的编程语言,可以实现各种数学运算,包括计算完数。通过使用循环和条件语句,我们可以编写简单而有效的程序来计算完数。

  
  

评论区

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