如何在Java中找到幻数
In this 文章, we are going to learn to find Magic 数
using 爪哇.
让’首先了解,什么是幻数?
什么是幻数?
经过一系列步骤后结果为1的数字将被其数字的总和代替。例如,如果我们检查163是否为幻数,则步骤序列为
Step 1:
1 + 6 + 3 = 10 //每个数字的平方和
Step 2:
1 + 0 = 1(一个魔术数字)
要计算幻数,我们有两种方法,要么使用递归方法,要么使用简单的速记逻辑。让’s see the examples.
幻数算法
Step 1:
Take two variables, 和
for storing a 和 of square and 数
for holding the value.
Step 2:
Repeat till 数
greater than 0 or 和
is greater than 9.
Step 3:
If 数
is equal to 0, replace the 数 with the 和
of the digits and set 和
= 0.
Step 4:
Calculate the 和
of each digit present in the 数
and add it to the variable 和
.
Step 5:
If result 和
is equal to 1, then the 数
is a Magic 数.
Step 6:
Else the 数
is not Magic 数.
查找幻数的示例
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 |
上市 类 主要{ 上市 静态的 虚空 主要(串[] args) { 整型 数 = 1000; //要检查的号码 整型 和 = 0; 而 (数 > 0 || 和 > 9) { 如果 (数 == 0) { 数 = 和; 和 = 0; } 和 + = 数 % 10; 数 / = 10; } //如果sum = 1,则为幻数 如果(和 == 1) { 系统.出.打印(“这是一个神奇的数字”); }其他 { 系统.出.打印(“这不是一个神奇的数字”); } } } |
输出:
查找幻数的另一个示例
还有另一种方法可以找到幻数。通过这种方法,我们可以在将数字除以9后获得幻数。这是验证幻数的快捷方法。如果我们在将数字除以9后得到余数1,那么该数字就是一个幻数。它基于9的除数规则的概念,该规则说,如果一个数字可以被9整除,那么它的所有数字之和也可以被9整除。原始数字加1将使最终值增加1,使其为10,最终总和为1,这使数字成为幻数。请参见下面的示例。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
上市 类 主要{ 上市 静态的 虚空 主要(串[] args) { 整型 数 = 10001; //要检查的号码 如果(数 % 9 == 1) { 系统.出.打印(“这是一个神奇的数字”); }其他 { 系统.出.打印(“这不是一个神奇的数字”); } } } |
输出量
那’关于Java中的幻数。