poj 1338 Ugly Numbers

it2024-03-29  20

Ugly Numbers

Time Limit: 1000MS Memory Limit: 10000K

Total Submissions: 15213 Accepted: 6714

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

1 2 9 0

Sample Output

1 2 10   #include<iostream> using namespace std; int mini(int a,int b) { if(a<=b) return a; return b; } int main() { int i,j,k; int n; int m; int temp; int ugly[1501]; ugly[0]=1; n=1; i=0;j=0;k=0; while(n<1501) { temp=mini(mini(ugly[i]*2,ugly[j]*3),ugly[k]*5); if(temp==ugly[i]*2) i++; if(temp==ugly[j]*3) j++; if(temp==ugly[k]*5) k++; ugly[n]=temp; n++; } while(1) { cin>>m; if(m==0) break; else cout<<ugly[m-1]<<endl; } return 0; }

 

体验用windows live writer发日志~

折腾了好半天。。。。

转载于:https://www.cnblogs.com/w0w0/archive/2011/11/21/2257389.html

相关资源:数据结构—成绩单生成器
最新回复(0)