上题目:
给你一个整数 n ,请你找出并返回第 n 个 丑数 。
丑数 就是只包含质因数 2、3 和/或 5 的正整数。
示例 1:
输入:n = 10 输出:12 解释:[1, 2, 3, 4, 5, 6, 8, 9, 10, 12] 是由前 10 个丑数组成的序列。 示例 2:
输入:n = 1 输出:1 解释:1 通常被视为丑数。
提示:
1 <= n <= 1690
解题:
/**
* @param {number} n
* @return {number}
*/
var isUgly = function(num) {
if (num < 1) {
return false;
}
while(num % 2 == 0) {
num/=2
}
while(num % 3 == 0) {
num/=3
}
while(num % 5 == 0) {
num/=5
}
return (num == 1) ? true : false;
};
var nthUglyNumber = function(n) {
var ugly = 1;
for (var i = 0; i < n; ugly++) {
if (isUgly(ugly)) {
i++;
}
}
return ugly;
};