题目陈述
把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
show me the code
res = [ 1, ]
# 关键是理解为什么要使用如下结构体
ugly_elements = ([2,0], [3,0], [5,0])
end_index = int(input("Please Input a index num: "))
start_index = 0
while start_index < end_index:
tl = list()
for element in ugly_elements:
tl.append(element[0] * res[element[1]])
min_v = min(tl)
res.append(min_v)
for element in ugly_elements:
if min_v == element[0] * res[element[1]]:
element[1] += 1
start_index += 1
print(res[end_index])
版权声明:除特别注明外,本站所有文章均为王晨曦个人站点原创