日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[Jobdu] 题目1214:丑数

發布時間:2025/4/16 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [Jobdu] 题目1214:丑数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述:

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

輸入:

輸入包括一個整數N(1<=N<=1500)。

輸出:

可能有多組測試數據,對于每組數據,
輸出第N個丑數。

樣例輸入:
3
樣例輸出:
3

很有技巧的一道題,注意分別為2,3,5維護一個index!

1 #include <cstring> 2 #include <cstdio> 3 using namespace std; 4 5 int a[1501]; 6 7 int getMin(int a, int b, int c) 8 { 9 int tmp = a < b ? a : b; 10 return c < tmp ? c : tmp; 11 } 12 13 void init() 14 { 15 int idx = 1, idx2 = 1, idx3 = 1, idx5 = 1; 16 int val; 17 a[1] = 1; 18 while (idx < 1501) { 19 idx++; 20 val = getMin(a[idx2]*2, a[idx3]*3, a[idx5]*5); 21 if (val == a[idx2] *2) { 22 idx2++; 23 } 24 if (val == a[idx3] *3) { 25 idx3++; 26 } 27 if (val == a[idx5] *5) { 28 idx5++; 29 } 30 a[idx] = val; 31 } 32 } 33 34 int main() 35 { 36 int n; 37 init(); 38 while (scanf("%d", &n) != EOF) { 39 printf("%d\n", a[n]); 40 } 41 return 0; 42 } 43 44 /************************************************************** 45 Problem: 1214 46 User: hupo250 47 Language: C++ 48 Result: Accepted 49 Time:10 ms 50 Memory:1028 kb 51 ****************************************************************/

?

總結

以上是生活随笔為你收集整理的[Jobdu] 题目1214:丑数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。