# coding=utf-8 #打印第N个丑数 def getugly(index): if index<=0: return 0 uglyNumber=[1]*index nextindex=1 index2=0 index3=0 index5=0 while nextindex<index: minval=min(uglyNumber[index2]*2,uglyNumber[index3]*3,uglyNumber[index5]*5) uglyNumber[nextindex]=minval while uglyNumber[index2]*2<=uglyNumber[nextindex]: index2+=1 while uglyNumber[index3]*3<=uglyNumber[nextindex]: index3+=1 while uglyNumber[index5]*5<=uglyNumber[nextindex]: index5+=1 nextindex+=1 return uglyNumber[-1] if __name__ == '__main__': print getugly(5)
offer34--丑数
最新推荐文章于 2021-09-02 20:18:46 发布