【路飞】javaScripe 264. 丑数 II js实现

208 阅读1分钟

上题目:

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