先來份錯誤**,親愛的小夥伴們,希望你們能找到其中的問題,順便說一句,用的是廣搜
#include#includeusing namespace std;
int main()
printf("%d\n",q.front());
return 0;
}
上面是我用很短的時間寫出來的很漂亮的**,如果說有什麼不完美的地方,那就是他是錯的。
有兩點決定了他是錯的,一,沒有從小到大排序,這樣實際上並不能確定誰是第1500個醜數,改進方法是用優先佇列
二,同乙個醜數可以有不同的生成方式,沒有現判斷該醜數是否已生成是第二個錯誤,改進方法是加入set判斷
ac**如下 time 0ms
#include#include#include#includeusing namespace std;
typedef long long ll;
int d=;
int main()
}ans++;
}printf("the 1500'th ugly number is %lld.\n",q.top());
return 0;
}
再來份搞笑版的**,可以ac 哦
#includeusing namespace std;
int main()
Uva136 醜數 優先佇列
找出第1500個素因子只能有2或3或5的數。懵逼了吧,並不是素因子篩,用2,3,5去篩並不能得到滿足醜數要求的數,例如14就篩不掉。優先佇列每次取乙個最小的數x,2x,3x,5x,都是醜數,但是每次要判斷是否有重數 set 取1500,每次都是取出最小的數,取1500次之後就是第1500個數。inc...
例題5 7 醜數 UVa136
演算法 競賽入門經典 第2版 第5章c 與stl入門 例 題5 7 醜數 uva136 感悟。菜題乙個。2 基本思路,能被2整除,一直除2 能被3整除,一直除3 能被5整除,一直除5 最後值為1,則為醜數。3 編好提交 limit exceeded,菜題不菜,感受到競賽題的威力。4 用printf ...
解題報告 136 Ugly Numbers
ugly numbers ugly numbers are numbers whose only prime factors are 2,3 or 5.the sequence 1,2,3,4,5,6,8,9,10,12,15,shows the first 11 ugly numbers.by c...