• hdu 1058 Humble Numbers || poj 1338(dp)


    两题都是一样的题目 只是hdu 1058 多了个7

    题意:求一个每个数因子仅含2 3 5 7 的 序列

             问 第n个数是几

    思路:

            ans[i]=min(min(ans[n2]*2,ans[n3]*3),min(ans[n5]*5,ans[n7]*7)); 
             if(ans[i]==ans[n2]*2) n2++;
            if(ans[i]==ans[n3]*3) n3++;
            if(ans[i]==ans[n5]*5) n5++;
            if(ans[i]==ans[n7]*7) n7++;

    hdu 1058

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int INF=2000000005;
    int ans[6000];
    int main()
    {
        int coun=2;
        ans[1]=1;
        int n,i,j,k;
        int n2=1,n3=1,n5=1,n7=1;
        for(i=2;i<=5842;i++)
        {
            ans[i]=min(min(ans[n2]*2,ans[n3]*3),min(ans[n5]*5,ans[n7]*7));
            if(ans[i]==ans[n2]*2) n2++;
            if(ans[i]==ans[n3]*3) n3++;
            if(ans[i]==ans[n5]*5) n5++;
            if(ans[i]==ans[n7]*7) n7++;
        }
        while(scanf("%d",&n),n)
        {
            if(n%10==1&&n%100!=11)
            printf("The %dst humble number is %d.
    ",n,ans[n]);
            else if(n%10==2&&n%100!=12)
            printf("The %dnd humble number is %d.
    ",n,ans[n]);
            else if(n%10==3&&n%100!=13)
            printf("The %drd humble number is %d.
    ",n,ans[n]);
            else
            printf("The %dth humble number is %d.
    ",n,ans[n]);
        }
        return 0;
    }
  • 相关阅读:
    从零搭建springboot+mybatis逆向工程
    基础SQL总结
    Map集合浅谈
    ArrayList、LinkedList与Vector的区别
    java多线程总结
    P4108 [HEOI2015]公约数数列
    P2168 [NOI2015] 荷马史诗
    正睿 2021 Noip 十连测 Day2
    CF772E Verifying Kingdom
    BZOJ1767 [CEOI2009] Harbingers
  • 原文地址:https://www.cnblogs.com/sola1994/p/4269041.html
Copyright © 2020-2023  润新知