UVA - 136 Ugly Numbers

注意输出要求

#include<iostream>
#include<algorithm>
#include<queue>
#include<unordered_set>
#include<cstdio>
using namespace std;
int main()
{
	int prime[3]={2,3,5};
	unordered_set<long long> a;
	priority_queue<long long,vector<long long>,greater<long long>> heap;
	a.insert(1);
	heap.push(1);
	int u;
	for(int i=0;i<1500;i++)
	{
		u=heap.top();
		heap.pop();
		for(long long i:prime)
		{
			long long ne=i*u;
			if(a.find(ne)==a.end())
			{
				a.insert(ne);
				heap.push(ne);
			}
		}
	}
	printf("The 1500'th ugly number is %d.\n",u);
	return 0;
}
posted @ 2021-08-19 21:37  斯文~  阅读(15)  评论(0)    收藏  举报

你好!