2014-01-31 28 views
1

我試圖編寫一個函數,它將採用一個數組或向量,並將其值作爲「權力」,然後顯示它的值。我不是太熟悉數組,但只是把我試圖創造一些像功能函數和c + +中的數組

n = {2^1, 3^1, 5^1,2^2,3^2,5^2,....} 

的將被循環「的力量。」 然後我打算排序數組,並顯示第1500個項。

這個問題對應於素數序列只能被2,3整除& 5; 我試圖找到一個比if語句和mod操作符更省時的方法。

+1

能否請你告訴你的一些代碼? –

+0

問題和解決方案的通用版本:http://usacotraining.blogspot.ca/2012/06/problem-313-humble-numbers.html – Brian

+1

如果您在調用power_of()函數之前排序數組,它將更快,該函數很可能運行得更快,結果已經被排序。 – jaho

回答

2

如果我沒記錯的話,這是我幾年前在UVA中遇到的醜陋數字問題。

解決此問題的想法是使用數字2,3和5作爲初始值的優先級隊列。在每一步中除去最上面的值和插入值2 * T3 * T並且在優先級隊列5 * T,直到第1500項被發現重複此步驟。

看到這個論壇的更多信息:http://online-judge.uva.es/board/viewtopic.php?t=93