首页 > 其他 > 详细

POJ 1338 Ugly Numbers dp

时间:2015-08-05 20:24:45      阅读:230      评论:0      收藏:0      [点我收藏+]

Ugly Numbers
Time Limit: 1000MS   Memory Limit: 10000K
Total Submissions: 21867   Accepted: 9767

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

Source

 AC代码:

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
using namespace std;
int main(){
    int n;
    char s1,s2;
    int dp[6000],i;
    dp[1]=1;
    i=2;
    int two=1,three=1,five=1,t1,t2;
    while(i<=5842){
        dp[i]=min((t1=min(2*dp[two],3*dp[three])),5*dp[five]);
        if(dp[i]==dp[two]*2)two++;
        if(dp[i]==dp[three]*3)three++;
        if(dp[i]==dp[five]*5)five++;
        i++;
    }
    while(cin>>n&&n){
        cout<<dp[n]<<'\12';
    }
    return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

POJ 1338 Ugly Numbers dp

原文:http://blog.csdn.net/zp___waj/article/details/47302127

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!