日萌社
人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新)
把只包含因子2、3和5的数称作丑数(Ugly Number)。
例如6、8都是丑数,但14不是,因为它包含因子7。
习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
def ugly(n):
res = [1]
if n <=1 :
return max(n,0)
else:
index2, index3, index5 = 0,0,0
i = 0
while i < n:
i += 1
res.append(min(res[index2]*2,res[index3]*3,res[index5]*5))
if res[i] == res[index2]*2:
index2 += 1
if res[i] == res[index3]*3:
index3 += 1
if res[i] == res[index5]*5:
index5 += 1
return res[n-1]