原題目網址:263. Ugly Number
題目描述
給定整數 n
,如果 n
是 ugly number 的話就 return true
。
Ugly number 的定義:其質因數只包括 2 、3 或 5,且為正整數。
解題思路
這一題沒什麼難度,但必須為正整數才算是 Ugly number 這一點很容易讓人忽略。
以下為用 C 語言實作的程式碼:
bool isUgly(int n){
if (n <= 0) {
return false;
}
while (true) {
if (n % 2 == 0) {
n = n / 2;
} else if (n % 3 == 0) {
n = n / 3;
} else if (n % 5 == 0) {
n = n / 5;
} else {
break;
}
}
return n == 1 || n == -1;
}