标签:pac 序列 typedef 算法入门 number 算法入门经典 最小 int logs
#include<iostream> #include<vector> #include<queue> #include<set> using namespace std; typedef long long ll; const int coeff= {2,3,5}; int main() { //一些常见的优先队列,STL提供了更为简单的定义方法 //对于任意丑数x 则 2x,3x,5x也是丑数,判断一个丑数是否生成过 //每次取出最小的丑数,生成3个新的丑数 priority_queue<LL,vector<LL>,greater<LL> > pq; set<LL> s; pq.push(1); s.insert(1); for(int i=1;; i++) { LL x=pq.top(); pq.pop();//序列 if(i==1500) { cout<<"The 1500th ugly number is"<<x<<".\n"; break; } for(int j=0; j<3; j++) { LL x2=x*coeff[j]; if(!s.count(x2)) { s.insert(x2); pq.push(x1); } } return 0; }
标签:pac 序列 typedef 算法入门 number 算法入门经典 最小 int logs
原文地址:http://www.cnblogs.com/is-Tina/p/7402888.html