如何在Java中找到魔术号码

时间:2020-02-23 14:34:11  来源:igfitidea点击:

在本文中,我们将学会找到 Magic Number使用Java。
让我们先了解,什么是魔法号码?

什么是魔术号码?

在步骤序列和每个步骤编号之后叶1的一个数字由其数字的总和替换。
例如,如果我们检查163是否是魔法号码,则步骤序列是

步骤 1:1 + 6 + 3 = 10 //每个数字的平方和
步骤 2:1 + 0 = 1(魔术号码)

要计算幻数,我们使用递归方法或者简单的速记逻辑有两种方法。
让我们看看这些例子。

魔术号的算法

步骤 1:取两个变量, sum用于存储一笔广场和 number持有该价值。
步骤 2:重复 number大于0或者 sum大于9.
步骤 3:如果 number等于0,替换数字 sum数字和集合 sum= 0。
步骤 4:计算 sum每个数字存在于此 number并将其添加到变量中 sum
步骤 5:如果结果 sum等于1,那么 number是一个神奇的数字。
步骤 6:否则 number不是魔法号码。

找到魔术号码的例子

public class Main{
 
    public static void main(String[] args) { 
        int number = 1000;  //Number to check
        int sum = 0;
        while (number > 0 || sum > 9) 
        { 
            if (number == 0) 
            { 
                number = sum; 
                sum = 0; 
            } 
            sum += number % 10; 
            number /= 10; 
        } 
 
        //If sum = 1, it is magic number 
        if(sum == 1) {
            System.out.println("It is a magic number");
        }else {
            System.out.println("It is not a magic number");
        }
    }
}

输出:

It is a magic number

找到魔术号码的另一个例子

还有另一种方法可以找到魔法号码。
在这种方法中,我们可以在划分数字后获得魔法号码。
这是一种验证魔术号码的快捷方式方法。
如果我们在将数量划分为9后获得余数1,则该号码是魔术号码。
它基于9的可分线规则的概念,它表示,如果数字可被9可分离9,则其所有数字的总和也可被9即排列。
在原始数字中添加1将增加1,使它10和Final的总和将是1,这使得一个数字是魔术号码。
请参阅下面的示例。

public class Main{
 
    public static void main(String[] args) { 
        int number = 10001;  //Number to check
        if(number % 9 == 1) {
            System.out.println("It is a magic number");
        }else {
            System.out.println("It is not a magic number");
        }
    }
}

输出

It is not a magic number

这就是Java中的魔法号码。