有些数的素因子只有 3,5,7,请设计一个算法找出第 k 个数。注意,不是必须有这些素因子,而是必须不包含其他的素因子。例如,前几个数按顺序应该是 1,3,5,7,9,15,21。
示例 1:
输入: k = 5
输出: 9
Python 解答:
class Solution:
def getKthMagicNumber(self, k: int) -> int:
i, j, m = 0, 0, 0
a = [1 for i in range(k)]
n = 1
while n < k:
b3 = a[i]*3
b5 = a[j]*5
b7 = a[m]*7
min_value = min(b3, b5, b7)
if b3 == min_value:
i += 1
if b5 == min_value:
j += 1
if b7 == min_value:
m += 1
a[n] = min_value
n += 1
return a[k-1]
留言