PAT-B 1023 組個最小數
PAT-B 1023 組個最小數
https://pintia.cn/problem-sets/994805260223102976/problems/994805298269634560
題目
給定數字 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
分析
先輸出一個最小的非零數字,然後從小到大輸出各個數字,具體看程式。
C++程式
#include<iostream>
using namespace std;
int a[10];
int main()
{
for(int i=0;i<10;i++)
scanf("%d",&a[i]);
//找出第一個非零的數字
int i=1;
while(!a[i]) i++;
a[i]--;
printf("%d",i);
//從小到大輸出各個數字
for(int i=0;i<10;i++)
for(int j=1;j<=a[i];j++)
printf("%d",i);
printf("\n");
return 0;
}
相關文章
- 求最小k個數
- PAT-B 1056 組合數的和【規律】
- 求三個數的最小公倍數
- PAT-B 1021 個位數統計【對映】
- 給一組數,分為兩組,求差最小的情況
- JZ-029-最小的 K 個數
- PAT乙級1023
- PAT-B 1013 數素數 【素數】
- PAT-B 1064 朋友數
- 求十個連續最小自然數,非素數。
- PAT-B 1002 寫出這個數 【字串+遞迴列印】字串遞迴
- 每日一練(21):最小的k個數
- [leetcode] 1023. Camelcase MatchingLeetCode
- PAT-B 1051 複數乘法
- PAT-B 1006 換個格式輸出整數【遞迴列印】遞迴
- 劍指Offer-31-最小的K個數
- PAT-B 1007 素數對猜想【素數】
- PAT-B 1052 賣個萌
- 杭電OJ 2028求n個數的最小公倍數
- PAT-B 1048 數字加密【字串】加密字串
- PAT-B 1062 最簡分數
- PAT-B 1091 N-自守數
- 劍指offer:輸入n個整數,找出其中最小的K個數。
- 對於十進位制數 -1023,包含符號位在內,至少需要多少個二進位制位表示該數符號
- 找到無序陣列中最小的k個數陣列
- Leetcode 劍指 Offer 40. 最小的k個數LeetCode
- PAT甲級1023 Have Fun with Number
- PAT-B 1057 數零壹【進位制】
- PAT-B 1060 愛丁頓數【排序】排序
- 在一行中輸出能夠組成的最小的數
- [每日一題] 第二十題:最小的k個數每日一題
- 劍指Offer-把陣列中的數排成一個最小的數陣列
- PAT-B 1030 完美數列【二分】
- PAT-B 1084 外觀數列 【模擬】
- 用PriorityQueue解決選擇最小的K個數問題
- 最大公約數,最小公倍數
- 最小公倍數&&最大公約數
- 最小步數(圖論建模)圖論