zoukankan      html  css  js  c++  java
  • 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;
    }
  • 相关阅读:
    Andoid studio 使用Zxing扫描二维码
    WebServices新建及连接数据库
    Android 字典
    ADB Android Device Monitor 导出文件错误
    Android Studio 新建项目默认布局修改
    第九周时间进度表
    第七周学习进度表
    第六周学习进度表
    最优买书问题
    找水王2
  • 原文地址:https://www.cnblogs.com/sola1994/p/4269041.html
Copyright © 2011-2022 走看看