zoukankan      html  css  js  c++  java
  • PAT B1023 组个最小数(20)

    题目描述
    给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558。
    现给定数字,请编写程序输出能够组成的最小的数。
    输入格式
    输入在一行中给出 10 个非负整数,顺序表示我们拥有数字 0、数字 1、……数字 9 的个数。整数间用一个空格分隔。10 个数字的总个数不超过 50,且至少拥有 1 个非 0 的数字。
    输出格式
    在一行中输出能够组成的最小的数。
    输入样例

    2 2 0 0 0 3 0 0 1 0
    

    输出样例

    10015558
    

    全部AC

    #include <cstdio>
    #include <algorithm>
    using namespace std;
    const int maxn = 10;
    int main() {
        #ifdef ONLINE_JUDGE
        #else
            freopen("1.txt", "r", stdin);
        #endif // ONLINE_JUDGE
        int ans[maxn] = {0};
        //输入各个数字的个数
        for(int i = 0; i < maxn; i++) {
            int n;
            scanf("%d", &n);
            ans[i] = n;
        }
    //打印第一个数,除了零之外最小的数
        for(int i = 1; i < maxn; i++) {
            if(ans[i] != 0) {
                printf("%d",i);
                ans[i]--;
                break;
            }
        }
        for(int i = 0; i < maxn; i++) {
            while(ans[i] != 0) {
                printf("%d", i);
                ans[i]--;
            }
        }
        return 0;
    }
    
  • 相关阅读:
    php获取http请求原文
    windows下安装MongoDB服务
    微服务RESTful 接口设计规范
    mysql主从复制原理及步骤
    nodejs主要框架
    redis事务机制和分布式锁
    计算机专业学生一定要学好这几门课
    redis常见7种使用场景
    js类型判断
    SQL语句:case when then的用法
  • 原文地址:https://www.cnblogs.com/isChenJY/p/11453439.html
Copyright © 2011-2022 走看看