天天看點

POJ1338 Ugly Numbers

問題連結:POJ1338 Ugly Numbers。基礎級練習題,用C++語言編寫程式。

題意簡述:不能被2、3和5以外的素數整除的數稱為醜數,找出第1500個醜數。

問題分析:換句話說,醜數的因子隻能是2、3和5。1是醜數,對于x,若x是醜數則2x、3x和5x是醜數。利用已知的醜數,從小到不斷生成醜數就可以了。

程式中,使用一個STL的容器set來存放醜數。集合具有去重複,自動排序的功能,對于解決本問題是友善的。但是,set對象無法用下标通路,是以倒騰到vector對象中再使用。本問題打表是合适的。

AC的C++語言程式如下:

繼續閱讀