码迷,mamicode.com
首页 > 其他好文 > 详细

SCU 1029 Humble Numbers (打表处理)

时间:2017-02-19 15:34:30      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:多校   span   stream   大于   get   sof   html   soft   技巧   

题目链接

题意:素因子中只有2 3 5 7的数称为谦逊的数,1也是谦逊的数,题目中已经给出了前20个谦逊的数。给定数字n,按格式输出第n个谦逊的数。

题解:打表即可,注意打表的技巧就行了。

ps:这道题和去年多校做过的一道题很像,那道题是输出大于等于n的第一个数,附上链接:传送门

#include <cstdio>
#include <iostream>
using namespace std;
#define N 6005
typedef long long ll;
ll data[N];
int cnt,n;
void get()
{
    cnt=2;
    data[1]=1;
    int p2=1,p3=1,p5=1,p7=1;
    for(int i=2; i<=6000; i++)
    {
        data[i]=min(min(data[p2]*2,data[p3]*3),min(data[p5]*5,data[p7]*7));
        if(data[i]==data[p2]*2) p2++;
        if(data[i]==data[p3]*3) p3++;
        if(data[i]==data[p5]*5) p5++;
        if(data[i]==data[p7]*7) p7++;
    }
}
int main()
{
    get();
    while(scanf("%d",&n)&&n)
    {
        printf("The %d",n);
        if(n%100!=11&&n%10==1) printf("st");
        else if(n%100!=12&&n%10==2) printf("nd");
        else if(n%100!=13&&n%10==3) printf("rd");
        else printf("th");
        printf(" humble number is ");
        printf("%lld.\n",data[n]);
    }
    return 0;
}

 

SCU 1029 Humble Numbers (打表处理)

标签:多校   span   stream   大于   get   sof   html   soft   技巧   

原文地址:http://www.cnblogs.com/Ritchie/p/6415770.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!