当前位置:编程学习 > C/C++ >>

(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;  
}  

 

补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,