problem description
如果乙個正整數最多隻包含2,3,5,7這四種素因子,則稱這個正整數為醜數。數列1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 24, 25, 27就是前20個醜數。
給定乙個n,請程式設計輸出第n個醜數。
input
輸入包含多組測試用例。
每組測試用例包含乙個整數n(1 <= n <= 5842),輸入為0時,表示測試資料的結束。
output
對於每組的n,請輸出第n個醜數。
每組輸出佔一行。
sample input12
341112
1321
2223
1001000
5842
0sample output12
341214
1528
3032
450385875
2000000000
#include
intmin
(int a,
int b,
int c,
int d)
intmain()
while
(scanf
("%d"
,&m)
!=eof
&&m)
printf
("%d\n"
,p[m]);
return0;
}
返回第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 ...
找到第N個醜數
把只包含因子2 3和5的數稱作醜數 ugly number 例如6 8都是醜數,但14不是,因為它包含因子7。習慣上我們把1當做是第乙個醜數。求按從小到大的順序的第n個醜數。找到第n個醜數 方法1 存放num之前所有元素是否是醜數的flag int getuglynumber solution in...
求第N個醜數
原問題描述 把只包含質因子2 3和5的數稱作醜數 ugly number 例如6 8都是醜數,但14不是,因為它包含質因子7。習慣上我們把1當做是第乙個醜數。求按從小到大的順序的第n個醜數。這個題不是很難,基本上看完題就能想出解法,但是要想出時間複雜度為o n 的解法還是有點難度的。我最開始的解法時...