九度 1214
时间:2014-05-14 00:18:31
收藏:0
阅读:367
#include <cstdio>
#include <iostream>
#include <string>
using namespace std;
#ifdef ONLINE_JUDGE
#define FINPUT(file) 0
#define FOUTPUT(file) 0
#else
#define FINPUT(file) freopen(file,"r",stdin)
#define FOUTPUT(file) freopen(file,"w",stdout)
#endif
long long int uglyNumber[1510];
long long int mymin(long long int a,long long int b,long long int c)
{
return a < b ? (a<c ? a:c):(b<c ? b:c);
}
void getUglyNumber()
{
uglyNumber[0] = 1;
int curIndex = 1;
long long int *m3 = uglyNumber;
long long int *m2 = uglyNumber;
long long int *m5 = uglyNumber;
while(curIndex<1500)
{
int Min = mymin(*m2*2,*m3*3,*m5*5);
uglyNumber[curIndex] = Min;
while(*m2 * 2<=uglyNumber[curIndex])
m2++;
while(*m3 * 3<=uglyNumber[curIndex])
m3++;
while(*m5 * 5<=uglyNumber[curIndex])
m5++;
curIndex++;
}
}
int main()
{
FINPUT("in.txt");
FOUTPUT("out.txt");
getUglyNumber();
int n;
while(cin>>n && n)
{
cout<<uglyNumber[n-1]<<endl;
}
return 0;
}
评论(0)