• PAT-乙级-1023. 组个最小数 (20)


    1023. 组个最小数 (20)

    时间限制
    100 ms
    内存限制
    65536 kB
    代码长度限制
    8000 B
    判题程序
    Standard
    作者
    CAO, Peng

    给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。

    现给定数字,请编写程序输出能够组成的最小的数。

    输入格式:

    每个输入包含1个测试用例。每个测试用例在一行中给出10个非负整数,顺序表示我们拥有数字0、数字1、……数字9的个数。整数间用一个空格分隔。10个数字的总个数不超过50,且至少拥有1个非0的数字。

    输出格式:

    在一行中输出能够组成的最小的数。

    输入样例:
    2 2 0 0 0 3 0 0 1 0
    
    输出样例:
    10015558
    只是看起来有点麻烦。。。
     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 int main()
     4 {
     5     int num,a[10];
     6     for(int i=0; i<10; i++)
     7     {
     8         cin>>num;
     9         a[i]=num;
    10     }
    11     if(a[0]==0)
    12     {
    13         for(int i=0; i<10; i++)
    14         {
    15             if(a[i]!=0)
    16                 for(int j=0; j<a[i]; j++)
    17                 {
    18                     printf("%d",i);
    19                 }
    20         }
    21     }
    22     else
    23     {
    24         for(int i=1; i<10; i++)
    25         {
    26             if(a[i]!=0)
    27             {
    28                 printf("%d",i);
    29                 a[i]--;
    30                 break;
    31             }
    32         }
    33         for(int i=0; i<a[0]; i++)
    34             printf("0");
    35         for(int i=1; i<10; i++)
    36         {
    37             if(a[i]!=0)
    38                 for(int j=0; j<a[i]; j++)
    39                     printf("%d",i);
    40         }
    41     }
    42     printf("
    ");
    43     return 0;
    44 }
    我会一直在
  • 相关阅读:
    php5调用web service
    经典SQL语句大全
    15个初学者必看的基础SQL查询语句
    MySQL数据库INSERT、UPDATE、DELETE以及REPLACE语句的用法详解
    mysql update操作
    Oracle CASE WHEN 用法介绍
    日期时间格式正则表达式
    JS的事件监听机制
    JS 事件介绍
    c#格式化数字
  • 原文地址:https://www.cnblogs.com/zhien-aa/p/5660475.html
Copyright © 2020-2023  润新知