一、题目描述:
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]。
二、思路分析:
整体思路就是, 把2,3,5都过一遍,最后剩下的是不是1,如果是1就是丑数,否则不是。
- 如果 n 小于 0 则直接返回
- 挨个判断 n 能否整除 2,3,5
- 如果能那么 n = n / 2 或 3 或 5
- 直到 n == 1 是返回 true
三、AC 代码:
/**
* @param {number} n
* @return {boolean}
*/
var isUgly = function(n) {
if (n < 1) return false
while(n > 1) {
if (n % 2 === 0) {
n = n / 2
continue
}
if (n % 3 === 0) {
n = n / 3
continue
}
if (n % 5 === 0) {
n = n / 5
continue
}
return false
}
return true
};
四、总结:
本文正在参与「掘金 2021 春招闯关活动」, 点击查看 活动详情