丑数

'''
题目:我们把只包含因子2、3和5的数称作丑数。求按从小到大的顺序的第1500个丑数。1为第一个丑数。
'''

def get_ugly_number(count):
    if count <= 0:
        return 0;
    ugly_number_list = [1]
    multiply2 = 0
    multiply3 = 0
    multiply5 = 0
    while len(ugly_number_list) < count:
        m = min((ugly_number_list[multiply2] * 2, ugly_number_list[multiply3] * 3, ugly_number_list[multiply5] * 5))
        ugly_number_list.append(m)
        while ugly_number_list[multiply2] * 2 <= ugly_number_list[-1]:
            multiply2 += 1
        while ugly_number_list[multiply3] * 3 <= ugly_number_list[-1]:
            multiply3 += 1
        while ugly_number_list[multiply5] * 5 <= ugly_number_list[-1]:
            multiply5 += 1
    print ugly_number_list
    return ugly_number_list[-1]
if __name__ == '__main__':

    print get_ugly_number(1500)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 题目:把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子...
    FlyElephant阅读 2,481评论 0 0
  • 题目描述把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因...
    NoFacePeace阅读 1,603评论 0 0
  • 此题说明了: 可以尝试用空间换取时间 像丑数这种越来越稀疏的问题,越到后面越体现出算法优化的重要性 《剑指offe...
    抬头挺胸才算活着阅读 2,444评论 0 0
  • 题目描述把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因...
    quiterr阅读 2,338评论 0 0
  • 南宋的太阳灭了。 她拥挤在熙熙攘攘的人群里,仓惶间回望红漆的朱门,日光下的飞尘模糊了视线,远处的硝烟弥漫着攀上天际...
    连雨不知春去阅读 1,589评论 0 0

友情链接更多精彩内容