码迷,mamicode.com
首页 > 其他好文 > 详细

POJ 1338 Ugly Numbers dp

时间:2015-08-05 20:26:01      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:c++   dp   poj   编程   


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

标签:c++   dp   poj   编程   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!