首页 > 其他分享 >第k个数

第k个数

时间:2023-02-05 23:33:47浏览次数:32  
标签:const p7 个数 因子 let dp

有些数的素因子只有 3,5,7,请设计一个算法找出第 k 个数。注意,不是必须有这些素因子,而是必须不包含其他的素因子。例如,前几个数按顺序应该是 1,3,5,7,9,15,21。

/**
 * 三指针方式
 */
const getKthMagicNumber = (k = 5) => {
    const dp = new Array(k + 1).fill(0);
    dp[1] = 1;
    let p3 = 1,
        p5 = 1,
        p7 = 1;
    for (let i = 2; i <= k; i++) {
        const num3 = dp[p3] * 3,
            num5 = dp[p5] * 5,
            num7 = dp[p7] * 7;
        dp[i] = Math.min(Math.min(num3, num5), num7);
        if (dp[i] === num3) {
            p3++;
        }
        if (dp[i] === num5) {
            p5++;
        }
        if (dp[i] === num7) {
            p7++;
        }
    }
    return dp[k];
};

  

标签:const,p7,个数,因子,let,dp
From: https://www.cnblogs.com/zhenjianyu/p/17094194.html

相关文章