(DS1.5.8)POJ 1338 Ugly Numbers(寻找因子只含有2||3||5的数)

2014-11-24 00:43:45 · 作者: · 浏览: 3
 
/* 
 * POJ_1138.cpp 
 * 
 *  Created on: 2013年10月24日 
 *      Author: Administrator 
 */  
  
#include   
#include   
using namespace std;  
  
const long long maxn = 900000000;//类型要用long long,不要使用int,因为在运算过程中产生的数可能超过int所能表示的范围  
long long a[1510];  
  
int main() {  
  
    long long i,j,k;  
    int num = 1;  
    for (i = 1; i < maxn; i = i * 2) {  
            for (j = 1; i * j < maxn; j = j * 3) {  
                for (k = 1; i * j * k < maxn; k = k * 5) {  
                    a[num++] = i*j*k;  
                }  
            }  
        }  
  
  
    sort(a,a+num);  
    int n;  
    while (scanf("%d", &n) != EOF, n) {  
        cout << a[n] << endl;  
    }  
  
    return 0;  
}