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

/*
 * POJ_1138.cpp
 *
 *  Created on: 2013年10月24日
 *      Author: Administrator
 */

#include <iostream>
#include <algorithm>
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;
}

你可能感兴趣的:((DS1.5.8)POJ 1338 Ugly Numbers(寻找因子只含有2||3||5的数))