关于丑数

题目陈述

把只包含质因子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])

版权声明:除特别注明外,本站所有文章均为王晨曦个人站点原创

转载请注明:出处来自王晨曦个人站点 » 关于丑数

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注