Java阿姆斯壯數(armstrongnumber) 範例

2019-10-16 22:20:52

Java中的阿姆斯壯數(armstrongnumber) 定義:阿姆斯壯數(armstrongnumber) 是等於其數位的立方數之和的數位,例如:01153370371407等。

現在試著理解為什麼153是一個阿姆斯壯數位, 153 = (1*1*1)+(5*5*5)+(3*3*3)

也就是:

153 = (1*1*1)+(5*5*5)+(3*3*3) 
(1*1*1)=1  
(5*5*5)=125  
(3*3*3)=27  
So:  
1+125+27=153

再來試著理解為什麼371也是一個阿姆斯壯數位。

371 = (3*3*3)+(7*7*7)+(1*1*1)  
where:  
(3*3*3)=27  
(7*7*7)=343  
(1*1*1)=1  
So:  
27+343+1=371

下面來看看如何使用Java來實現檢查阿姆斯壯(Armstrong)數位。

class ArmstrongExample {
    public static void main(String[] args) {
        int c = 0, a, temp;
        int n = 153;// It is the number to check armstrong
        temp = n;
        while (n > 0) {
            a = n % 10;
            n = n / 10;
            c = c + (a * a * a);
        }
        if (temp == c)
            System.out.println("armstrong number");
        else
            System.out.println("Not armstrong number");
    }
}

上面程式碼執行結果如下 -

armstrong number