POJ 1338 Ugly Numbers
2012-11-23 23:45
316 查看
Ugly Numbers
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, ...
shows the first 10 ugly numbers. By convention, 1 is included.
Given the integer n,write a program to find and print the n'th ugly number.
Input
Each line of the input contains a postisive integer n (n <= 1500).Input is terminated by a line with n=0.
Output
For each line, output the n’th ugly number .:Don’t deal with the line with n=0.
Sample Input
Sample Output
Source
New Zealand 1990 Division I,UVA 13
解题思路:从1开始向后乘,分别乘以2,3,5,记录下应加入数列的最小值,再改变乘数,用三个指针分别标示乘到哪个位置,最后完成一个完整数列,输出即可。
Time Limit: 1000MS | Memory Limit: 10000K | |
Total Submissions: 16997 | Accepted: 7558 |
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, ...
shows the first 10 ugly numbers. By convention, 1 is included.
Given the integer n,write a program to find and print the n'th ugly number.
Input
Each line of the input contains a postisive integer n (n <= 1500).Input is terminated by a line with n=0.
Output
For each line, output the n’th ugly number .:Don’t deal with the line with n=0.
Sample Input
1 2 9 0
Sample Output
1 2 10
Source
New Zealand 1990 Division I,UVA 13
解题思路:从1开始向后乘,分别乘以2,3,5,记录下应加入数列的最小值,再改变乘数,用三个指针分别标示乘到哪个位置,最后完成一个完整数列,输出即可。
#include<iostream> using namespace std; long min(long a,long b,long c) { if(a>b) a=b; if(a>c) a=c; return a; } int main() { int i,n,p=1,q=1,r=1,t; long m1=2,m2=3,m3=5; long ans[1600]; memset(ans,0,sizeof(ans)); ans[1]=1; for(i=2;i<=1500;i++) { t=min(m1,m2,m3); ans[i]=t; if(t==m1) m1=ans[++p]*2; if(t==m2) m2=ans[++q]*3; if(t==m3) m3=ans[++r]*5; } while(cin>>n&&n) cout<<ans <<endl; return 0; }
相关文章推荐
- POJ1338 Ugly Numbers
- POJ-1338 Ugly Numbers 打表 Or 递推
- POJ 1338 Ugly Numbers(丑数)
- POJ-1338 Ugly Numbers 递推
- POJ1338 Ugly Numbers(解法二)
- poj 1338 Ugly Numbers(丑数模拟)
- POJ 1338 Ugly Numbers(数论)
- POJ 1338 Ugly Numbers(我的水题之路——丑数2,3,5,质因子组成数)
- POJ 1338 Ugly Numbers
- poj 1338 Ugly Numbers 枚举素因子幂
- POJ-1338 Ugly Numbers-被2,3,5整除的数
- poj 1338 Ugly Numbers【终极打表】
- POJ 1338 Ugly Numbers (质因数分解)
- poj 1338 Ugly Numbers(STL 之 pair)
- Ugly Numbers--POJ 1338
- POJ1338 Ugly Numbers 堆优化+模拟
- POJ 1338 Ugly Numbers
- 51nod 1010 只包含因子2 3 5的数 && poj - 1338 Ugly Numbers(打表)
- Poj 1338 Ugly Numbers(数学推导)
- POJ 1338 Ugly Numbers