83 找到第n個醜數

2021-10-04 12:14:39 字數 772 閱讀 7305

'''

2, 3, 5

6: 是醜數

14: 不是醜數,包含7

下乙個醜數必定是陣列的某乙個醜數a * 2、b * 3、c * 5 中最小的值

m2, 之前的醜數*2都小於當前最大的醜數

之後的醜數*2都大於當前最大的醜數

m3、m5

'''def

getuglynumber

(index)

:if index <1:

return

0 res =[1

] t2 = t3 = t5 =

0 nextdex =

1while nextdex < index:

minnum =

min(res[t2]*2

, res[t3]*3

, res[t5]*5

)while res[t2]*2

<= minnum:

t2 +=

1while res[t3]*2

<= minnum:

t3 +=

1while res[t5]*2

<= minnum:

t5 +=

1 nextdex +=

1return res[nextdex -1]

print

(getuglynumber(10)

)

512
84 - 哪乙個小朋友不用表演節目

找到第N個醜數

把只包含因子2 3和5的數稱作醜數 ugly number 例如6 8都是醜數,但14不是,因為它包含因子7。習慣上我們把1當做是第乙個醜數。求按從小到大的順序的第n個醜數。找到第n個醜數 方法1 存放num之前所有元素是否是醜數的flag int getuglynumber solution in...

找到第1500個醜數

把只包含質因子2 3和5的數稱作醜數。例如6 8都是醜數,但14不是,因為它包含質因子7。習慣上我們把1當做是第乙個醜數。求按從小到大的順序的第1500個醜數。暴力的一點的方法,可以從1開始遍歷,依次判斷是否是醜數,如果是醜數,計數器 1,當計數器加到1500的時候,這個數字就是醜數了.void v...

返回第n個醜數

把只包含質因子2 3和5的數稱作醜數 ugly number 例如 2,3,4,5,6,8,9,10,12,15,等,習慣上我們把1當做是第乙個醜數。寫乙個高效演算法,返回第n個醜數。解法1 判斷某個數是否為醜數,連續找到第n個醜數 include using namespace std bool ...