Perfect Number Program in Java

17 Mar 2025 | 5 分钟阅读

在本节中,我们将学习Java 中的完美数是什么,以及创建 Java 程序来检查给定数字是否为完美数。此外,我们还将创建一个 Java 程序来查找给定范围内的所有完美数完美数程序经常在 Java 编码测试和学术中出现。

Java 中的完美数是什么?

一个数(不包括它本身)的所有因子之和等于该数本身的数称为完美数。换句话说,如果一个数的正约数(不包括它本身)之和等于该数本身,则称为完美数。让我们通过一个例子来理解。

完美数示例

让我们以数字496为例,检查它是否是完美数。

首先,我们找到 496 的因子,即1, 2, 4, 8, 16, 31, 62, 124248。让我们找到因子之和 (1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248 =496)。我们观察到因子之和等于数字本身。因此,数字496是一个完美数。同样,我们也可以检查其他数字。

Perfect Number Program in Java

其他一些完美数是6, 8128, 33550336,8589869056等。

查找完美数的步骤

  1. 读取或初始化一个数字(n)。
  2. 声明一个变量(s)用于存储总和。
  3. 使用循环(for/while)查找给定数字(n)的因子。
  4. 计算因子之和并将其存储在变量 s 中。
  5. 比较总和(s)和数字(n)。
    • 如果两者(s 和 n)相等,则给定的数字是完美数。
    • 否则,该数字不是完美数。

让我们在 Java 程序中实现上述步骤。

完美数 Java 程序

在 Java 中查找完美数有以下几种方法:

  • 使用 while 循环
  • 使用方法
  • 使用递归

使用 while 循环

PerfectNumberExample1.java

输出 1

Enter the number: 28
28 is a perfect number.

输出 2

Enter the number: 4558
4558 is not a perfect number.

使用方法

PerfectNumberExample2.java

输出 1

Enter the number: 6
6 is a perfect number.

输出 2

Enter the number: 1234
1234 is not a perfect number.

使用递归

PerfectNumberExample3.java

输出 1

Enter the number: 8128
8128 is a perfect number.

输出 2

Enter the number: 7866
7866 is a perfect number.

给定范围内的完美数

以下程序查找给定范围内的所有完美数。

PerfectNumberExample3.java

输出

Perfect Numbers between 2 to 10000 are: 
6 is a perfect number
28 is a perfect number
496 is a perfect number
8128 is a perfect number