劍指offer 醜數(陣列)

2021-09-12 17:34:28 字數 1184 閱讀 5625

把只包含質因子2、3和5的數稱作醜數(ugly number)。例如6、8都是醜數,但14不是,因為它包含質因子7。 習慣上我們把1當做是第乙個醜數。求按從小到大的順序的第n個醜數。

//class solution 

// for(int i = 2; i < zhishusize; i++)

// }

// }

// }

for(int i = 2; i < zhishusize; i++)

}// //把醜數表中的數,如果能被大於7的質數整除z,則不是醜數

// bool ugly[uglysize];

// for(int i = 0; i < uglysize; i++)

// for(int i = 7; i < zhishusize; i++)

// }

// }

// }

for(int i = 1; i < uglysize; i++)

}// int ans = 0;

// for(int i = 1; i < uglysize; i++)

// if(index == 0)

// }

// return ans;

// }

//};

class

solution

int a[index]

; a[0]

=1;int p2 =0;

int p3 =0;

int p5 =0;

for(

int i =

1; i < index; i++)if

(a[p3]*3

== min)

if(a[p5]*5

== min)

}return a[index-1]

;}intgetmin

(int a,

int b,

int c)

if(a > c)

return a;}}

;

劍指offer 醜數

把只包含因子2 3和5的數稱作醜數 ugly number 例如6 8都是醜數,但14不是,因為它包含因子7。習慣上我們把1當做是第乙個醜數。求按從小到大的順序的第n個醜數。分析 參考程式設計師面試金典 偽 如下 1 初始化array和佇列 q2 q3 q5 2 將1插入array 3 分別將1 2...

劍指Offer 醜數

我們把只包含因子 2 3 和 5 的數稱作醜數 ugly number 求按從小 到大的順序的第 1500 個醜數。例如 6 8都是醜數,但 14 不是,它包含因子 7。習慣上我們把 1當做第乙個醜數。解法一 逐一判斷是否是醜數,簡單但是不夠高效 數字n是數字m的因子說明m n 0。醜數的因子只有2...

劍指offer 醜數

把只包含因子2 3和5的數稱作醜數 ugly number 例如6 8都是醜數,但14不是,因為它包含因子7。習慣上我們把1當做是第乙個醜數。求按從小到大的順序的第n個醜數。分析 為了保證時間達到要求,可以將所求得的醜數都儲存在陣列中,然後再取出。前面的醜數乘以2 3或5中的最小的乙個是下乙個醜數。...