Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

注意,每次查询第N个的时候都重新查询会超时的,虽然1338那道不会,所以还是预先存起来吧

Posted by tylderen at 2014-04-22 16:06:11 on Problem 2247
#include<iostream>
#include<cstdio>
#include<queue>
 
using namespace std;
 
priority_queue<long long,vector<long long >, greater<long long > >q;
long long  a[5];
long long b[6666];

int main()
{
    int n;
    a[1]=2;
    a[2]=3;
    a[3]=5;
    a[4]=7;
    b[1]=1;
    int cnt=1;
    q.push(2);
    q.push(3);
    q.push(5);
    q.push(7);
    for(int i=1; i<5842; i++)
    {
        long long temp=q.top();
        for(int j=1; j<5; j++)
            q.push(temp*a[j]);
        b[++cnt]=temp;
        q.pop();
        while(1)
        {
            if(temp==q.top())
                q.pop();
            else
                break;
        }
    }
 
    while(scanf("%d",&n)!=EOF && n)
    {
        if(n==1)
            printf("The 1st humble number is 1.\n");
        else if(n%10==1 && (n%100)!=11)
            printf("The %dst humble number is %lld.\n",n,b[n]);
        else if(n%10==2 && (n%100)!=12)
            printf("The %dnd humble number is %lld.\n",n,b[n]);
        else if(n%10==3 && (n%100)!=13)
            printf("The %drd humble number is %lld.\n",n,b[n]);
        else
            printf("The %dth humble number is %lld.\n",n,b[n]);
    }
 
    return 0;
}
 
 
 
 
 

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator