給你一個整數 n ,請你判斷 n 是否爲 醜數 。若是是,返回 true ;不然,返回 false 。醜數 就是隻包含質因數 二、3 和/或 5 的正整數。An ugly number is a positive integer whose prime factors are limited to 2, 3, and 5.面試
Given an integer n, return true if n is an ugly number.算法
示例 1:
輸入:n = 6
輸出:true
解釋:6 = 2 × 3
示例 2:
輸入:n = 8
輸出:true
解釋:8 = 2 × 2 × 2
示例 3:
輸入:n = 14
輸出:false
解釋:14 不是醜數,由於它包含了另一個質因數 7 。
示例 4:
輸入:n = 1
輸出:true
解釋:1 一般被視爲醜數。ide
若當前數能整除2,3,5,則一直整除2,3,5,直到不能整除爲止,判斷最後的數是否等於1便可,若是不是1就說明還有其餘因子
class Solution {
public boolean isUgly(int num) {
if(num <= 0) return false;
while(num % 2 == 0) num /= 2;
while(num % 3 == 0) num /= 3;
while(num % 5 == 0) num /= 5;
return num == 1;
}
}it