POJ

题目链接:http://poj.org/problem?id=1338

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stack>
#include<math.h>
#include<queue>
using namespace std;
#define INF 0x3f3f3f3f
#define N 12345

int main( )
{
    int a[1505]= {0};
    int b=0,c=0,d=0,i,t;
    a[0]=1;
    for(i=1; i<1500; i++)
    {
        if(2*a[b]>3*a[c])
            t=a[c]*3;
        else
            t=a[b]*2;
        if(t>a[d]*5)
            t=a[d]*5;

        if(t == 2*a[b]) b++;
        if(t == 3*a[c]) c++;
        if(t == 5*a[d]) d++;

        a[i]=t;
    }
    int n;
    while(scanf("%d", &n),n)
    {
        printf("%d
", a[n-1]);
    }
    return 0;
}

题目链接:http://poj.org/problem?id=1338

原文地址:https://www.cnblogs.com/weiyuan/p/5676563.html