給定數字0-9各若干個。你能夠以任意順序排列這些數字,但必須所有使用。目標是使得最後獲得的數儘量小(注意0不能作首位)。例如:給定兩個0,兩個1,三個5,一個8,咱們獲得的最小的數就是10015558。測試
現給定數字,請編寫程序輸出可以組成的最小的數。spa
輸入格式:code
每一個輸入包含1個測試用例。每一個測試用例在一行中給出10個非負整數,順序表示咱們擁有數字0、數字一、……數字9的個數。整數間用一個空格分隔。10個數字的總個數不超過50,且至少擁有1個非0的數字。blog
輸出格式:內存
在一行中輸出可以組成的最小的數。string
輸入樣例:2 2 0 0 0 3 0 0 1 0輸出樣例:
10015558
1 #include<stdio.h> 2 #include<math.h> 3 #include<stdlib.h> 4 #include<string.h> 5 #include<algorithm> 6 using namespace std; 7 8 int main() 9 { 10 int i, j, num[10]; 11 for(i = 0; i < 10; i++) 12 { 13 scanf("%d", &num[i]); 14 } 15 for(i = 1; i < 10; i++) 16 { 17 if(num[i] > 0) 18 { 19 printf("%d", i); 20 num[i]--; 21 break; 22 } 23 } 24 for(i = 0; i < 10; i++) 25 { 26 for(j = 0; j < num[i]; j++) 27 { 28 printf("%d", i); 29 } 30 } 31 printf("\n"); 32 return 0; 33 }