给你一个整数 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