zoukankan      html  css  js  c++  java
  • poj1338(Ugly Numbers)

    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
    
    分析:打表,好笨的方法=_=.
    #include<cstdio>
    #include<algorithm>
    using namespace std;
    long long a[30000],cnt=0;
    long long Pow(int x,int k)
    {
        if(k==0) return 1;
        if(k==1) return x;
        long long y=Pow(x,k/2);
        y*=y;
        if(k%2) y*=x;
        return y;
    }
    void f()
    {
        long long N=(long long)17592186044416;
        for(int i=0;i<=44;i++)
        {
            long long ans2=Pow(2,i);
            for(int j=0;j<30;j++)
            {
                long long ans3=Pow(3,j);
                for(int k=0;k<20;k++)
                {
                    long long ans5=Pow(5,k);
                    if(ans5<=N/ans2/ans3) 
                        a[cnt++]=ans2*ans3*ans5;
                }
            }
        }
        sort(a,a+cnt);
    }
    int main()
    {
        f();
        int n;
        while(scanf("%d",&n)&&n)
            printf("%d
    ",a[n-1]);
        return 0;
    }
    View Code



  • 相关阅读:
    。。
    前端jQuery选择器
    杂物柜。。。。
    (转载)pycharm相关问题
    http协议基础 2.HTTP的三次握手,四次挥手
    http协议基础 1.TCP/IP五层模型 与OSI七层协议
    yum无法使用解决方法(比较全,以后如果遇到别的问题还会添加)
    3
    2
    1
  • 原文地址:https://www.cnblogs.com/ACRykl/p/8696839.html
Copyright © 2011-2022 走看看