丑数

丑数 就是只包含质因数 2、3 和 5 的正整数。

一个整数 n ,判断 n 是否为 丑数 。如果是,返回 true ;否则,返回 false 。

  • 输入:n = 6

  • 输出:true

  • 解释:6 = 2 × 3

  • 输入:n = 1

  • 输出:true

  • 解释:1 没有质因数,因此它的全部质因数是 {2, 3, 5} 的空集。习惯上将其视作第一个丑数。

  1. 负数和 0 肯定不是丑数。(2,3,5)组合相乘肯定是大于 0 的正数
  2. 不断使用 2,3,5 去除。如果是丑数,得到的最后的值一定为 1,反之不是 1 那就不是丑数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
let isUgly = function(n) {

if(n <= 0) return false
while(n%2===0){
n = n/2;
}
while(n%3===0){
n = n/3;
}
while(n%5===0){
n = n/5;
}
return n === 1
};