Ugly Numbers

来源:互联网 发布:淄博seo公司找一群猴 编辑:程序博客网 时间:2024/05/24 01:39

Ugly Numbers(1.5.8)

Time Limit:1000MS    Memory Limit:10000KB    64bit IO Format:%I64d & %I64u

SubmitStatus

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

1290

Sample Output

1210
#include <iostream>using namespace std;int main(){    int n,p,i,m2,m3,m5;    int a[1505],t;    while(cin>>n&&n!=0)    {        m2=0;        m3=0;        m5=0;        a[0]=1;        for(i=1;i<n;i++)        {           if(2*a[m2]>3*a[m3])            t=a[m3]*3;           else            t=a[m2]*2;           if(t>5*a[m5])            t=a[m5]*5;           if(t==2*a[m2]) m2++;           if(t==3*a[m3]) m3++;           if(t==5*a[m5]) m5++;           a[i]=t;        }        cout<<a[n-1]<<endl;    }    return 0;}

 
0 0
原创粉丝点击