天天看點

Java實作 LeetCode 263 醜數

263. 醜數

編寫一個程式判斷給定的數是否為醜數。

醜數就是隻包含質因數 2, 3, 5 的正整數。

示例 1:

輸入: 6

輸出: true

解釋: 6 = 2 × 3

示例 2:

輸入: 8

輸出: true

解釋: 8 = 2 × 2 × 2

示例 3:

輸入: 14

輸出: false

解釋: 14 不是醜數,因為它包含了另外一個質因數 7。

說明:

1 是醜數。

輸入不會超過 32 位有符号整數的範圍: [−231, 231 − 1]。

class Solution {
     public boolean isUgly(int num) {
        if (num<1) return false;
        while (num%5==0){
            num/=5;
        }
        while (num%3==0){
            num/=3;
        }
        while (num%2==0){
            num>>=1;
        }
        return num == 1;
    }
}