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

PAT1023. 组个最小数 (20)

时间:2015-01-20 13:36:36      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:

给定数字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<stdio.h>
 2 
 3  
 4 int main(int argc, char** argv)
 5  {
 6     int data[11];
 7     for(int i=0;i<10;i++)
 8        data[i]=0; 
 9     for(int i=0;i<10;i++)
10     {
11         int temp;
12         scanf("%d",&temp);
13         while(temp--)
14         {
15             data[i]++;
16         }
17     }
18     //找出第一个非零的数字
19     for(int i=1;i<10;i++)
20         if(data[i])
21         {
22             printf("%d",i);
23             data[i]--;
24             break;
25         }
26     //其余
27     for(int i=0;i<10;i++)
28     {
29         while(data[i]--)
30           printf("%d",i);
31     } 
32  
33     return 0;
34 }
View Code

 

PAT1023. 组个最小数 (20)

标签:

原文地址:http://www.cnblogs.com/GoFly/p/4235755.html

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