如何生成醜數

2021-09-03 08:20:02 字數 618 閱讀 4172

只包含因子2,3,5的正整數被稱作醜數,比如4,10,12都是醜數,而14,23,111則不是醜數,另外1也是醜數。

對於乙個已知的數,做下面運算:

1、迴圈整除2,直到商為1或者不能整除。

2、再迴圈整除3,直到商為1或者不能整除。

3、在迴圈整除5,直到商為1或者不能整除。

如果最後商為1且無餘數,則為醜數。

例:正整數12

1、12/2 = 6 ,6/2 = 3,不能整除

2、3/3 = 1,沒有餘數,所以12是醜數。

例:正整數14

1、14/2 = 7 ,不能整除,

2、7/3,不能整除,

3、7/5,不能整除,所以14不是醜數

public class testuglyword 

/*** 生成num以內的醜數

* @param num

*/public static void finduglyword(int num)

while(temp % 3 == 0)

while(temp % 5 == 0)

if(temp == 1)

word++;

} }}

leetcode 263 醜數(醜數II)

給了我們乙個醜數的概念,真是為了考驗我們什麼手段都能使出來。首先說一下第乙個題目,判斷乙個數是不是醜數,就是不斷地去除5 除3 除2就行了,當然除之前看看餘數是不是0,否則的話說明已經不能被這三個數整除了,直接結束 public boolean isugly int num return flag ...

刷題 醜數提取及醜數判斷

把只包含質因子2 3和5的數稱作醜數 ugly number 例如6 8都是醜數,但14不是,因為它包含質因子7。習慣上我們把1當做是第乙個醜數。求按從小到大的順序的第n個醜數。根據醜數的定義,我們知道醜數一定是由2 3 5乘積得到,可表示成如下公式 我們預設1是第乙個醜數,初始醜數序列為1,從1開...

64 尋找醜數

64.尋找醜數。題目 我們把只包含因子 2 3 和 5 的數稱作醜數 ugly number 例如 6 8 都是醜數,但 14 不是,因為它包含因子 7。習慣上我們把 1 當做是第乙個醜數。求按從小到大的順序 的第 1500 個醜數。分析 這是一道在網路上廣為流傳的面試題,據說 google 曾經採...