爪哇2博客
爪哇2博客

用Java查找完美数

In this 文章, we are going to find whether a 数 is perfect or not using 爪哇.


A 数 is called a perfect 数 如果 the 和 of its divisors is equal to the 数. The 和 of divisors excludes the 数. There may be several approaches to find the perfect 数.
例如:

28是完美数字:
– 28’的除数是1,2,4,7,14
–除自身之外的28个除数的总和是28。

在这里,我们使用两种主要方法:迭代方法和递归方法。

让’s see the example.

迭代法

在这个例子中,我们使用 而循环 查找数字的除数,然后求和。
步骤如下:

  1. Initiaze 和=0 and loop variable i=1.
  2. Iterate a 而循环 until condition i<=number/2 is false.
  3. Check remainder of 数%i using 模运算符. If remainder is 0, then add it to the .
  4. If is equals to 数 after all iterations, then it is perfect 数.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    上市 主要
    {
    上市 静态的 虚空 主要( args[])
    {
        整型 = 28;
        整型 = 0;
        整型 i = 1;
        (i<=/2)
        {
            如果(%i == 0)
            {
                + =i;
            }
            i++;
        }
        如果( == )
            系统..打印(“这是完美的数字”);
        其他 系统..打印(“这不是完美的数字”);
    }
    }
     

输出量

这是完美的数字

递归方法

如果没有,我们可以使用递归技术’不想使用while循环。它减少了代码语句,但提供了准确的结果。
步骤如下:

  1. Initialize 静态的 variable 和=0.
  2. Create a function findPerfect() which will take two parameters and div
  3. Check 如果 div&lt;=number/2 is true. This will be the terminal condition for recursion.
    1. Check remainder of 数%i using 模运算符. If remainder is 0, then add it to the .
    2. 增量 div
    3. Call findPerfect() recursively.
  4. If 返回ed 出put of findPerfect() is equals to 数, then it is perfect 数.
    请参见下面的示例。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
上市 主要
{  
    静态的 整型 = 8128;
    静态的 整型 = 0;
    静态的 整型 div = 1;
    静态的 整型 findPerfect(整型 , 整型 div) {
        {
            如果(div<=/2)
            {
                如果(%div== 0)
                {
                    + =div;
                }
                div++;
                findPerfect(,div);
            }
            返回 ;
        }
    }
    上市 静态的 虚空 主要( args[])
    {
        整型 结果 = findPerfect(,div);
        如果(结果 == )
            系统..打印(“这是完美的数字”);
        其他 系统..打印(“这不是完美的数字”);
    }
}
 

输出量

这是完美的数字

那’有关如何在Java中查找“完美数”的所有信息。


导入联系人

您可能还喜欢:

分享这个

作者

关注作者

    相关文章

    发表评论

    您的电子邮件地址不会被公开。 必需的地方已做标记 *

    订阅我们的新闻

    获取质量教程到您的收件箱。现在订阅。


    让’s be Friends

    ©2020 爪哇2博客