UVA - 136 Ugly Numbers
2015-04-12 02:41
337 查看
Ugly Numbers
Submit Status
Description
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 convention, 1 is included.
Write a program to find and print the 1500'th ugly number.
Input and
There is no input to this program. Output should consist of a single line as shown below, with <number> replaced by the number computed.
丑数是指不能被2,3,5以外的其他素数整除的数。求第1500个丑数。
最小的丑数是1,对任意丑数x,2x,3x,5x也是丑数。用优先 队列保存已经生成的丑数,再依次取出最小的丑数生成三个新的丑数就好了,注意生成丑数的来源多种,需要判断新生成的丑数是否已存在。
Time Limit: 3000MS | Memory Limit: Unknown | 64bit IO Format: %lld & %llu |
Description
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 convention, 1 is included.
Write a program to find and print the 1500'th ugly number.
Input and
Output
There is no input to this program. Output should consist of a single line as shown below, with <number> replaced by the number computed.Sample output
The 1500'th ugly number is <number>.丑数是指不能被2,3,5以外的其他素数整除的数。求第1500个丑数。
最小的丑数是1,对任意丑数x,2x,3x,5x也是丑数。用优先 队列保存已经生成的丑数,再依次取出最小的丑数生成三个新的丑数就好了,注意生成丑数的来源多种,需要判断新生成的丑数是否已存在。
#include<iostream> #include<vector> #include<queue> #include<set> using namespace std; typedef long long LL; const int coeff[3] = { 2, 3, 5 }; int main() { priority_queue<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 1500'th ugly number is " << x << "." << endl; break; } for (int j = 0; j < 3; j++) { LL x2 = x*coeff[j]; if (!s.count(x2)) { s.insert(x2); pq.push(-x2); } } } return 0; }
相关文章推荐
- UVa 136 Ugly Numbers (数论)
- UVA 136 Ugly Numbers
- UVa136(Ugly Numbers)优先队列
- 《算法竞赛入门经典2ndEdition 》例题5-7 丑数(Ugly Numbers, Uva136)
- UVA 136 Ugly Numbers(队列)
- 例题5-7 UVa136 Ugly Numbers(STL:priority_queue)
- UVA 136 Ugly Numbers
- UVA136 Ugly Numbers
- UVA 136 & POJ1338 Ugly Numbers
- Ugly Numbers UVA 136 priority_queue+set
- UVA-136 Ugly Numbers (map容器+优先队列)
- uva136 Ugly numbers
- UVA ~ 136 ~ Ugly Numbers (priority_queue + map)
- UVA 136(p120)----Ugly Numbers
- UVa 136 Ugly Numbers 【STL】【priority_queue】
- UVa 136 Ugly Numbers(优先队列)
- 例题5-7 UVA 136 Ugly Numbers丑数(set+优先队列)
- Problem 034——UVa 136 - Ugly Numbers
- UVA136 Ugly Numbers(优先队列应用)
- Ugly Numbers - uva136 - priority_queue与set