PAT-B 1023組個の最小数(C言語)
997 ワード
タイトル
リンク:PAT(Basic Level)Practice 1023組個最小数
0~9の数字をいくつかずつ指定します.これらの数字を任意の順序で並べることができますが、すべて使用する必要があります.目標は、最後に得られた数をできるだけ小さくすることです(注意0はトップになれません).例えば、2つの0、2つの1、3つの5、1つの8を与え、私たちが得た最小の数は10015558です.ここで、与えられた数値は、プログラムを作成して構成可能な最小の数を出力してください.
入力形式:
入力は1行に10個の非負の整数を与え、順序は私たちが0、数字1、......数字9の個数を持っていることを示す.整数間はスペースで区切られます.10個の数字の合計数は50を超えず、少なくとも1個の0以外の数字を有する.
出力フォーマット:
構成可能な最小の数を1行に出力します.
サンプルを入力:
2 2 0 0 0 3 0 0 1 0
出力サンプル:
10015558
構想は、まず最小の非0数を出力し、存在しなければ を出力する. 0 0から小から大まで出力全数 コード#コード#
リンク:PAT(Basic Level)Practice 1023組個最小数
0~9の数字をいくつかずつ指定します.これらの数字を任意の順序で並べることができますが、すべて使用する必要があります.目標は、最後に得られた数をできるだけ小さくすることです(注意0はトップになれません).例えば、2つの0、2つの1、3つの5、1つの8を与え、私たちが得た最小の数は10015558です.ここで、与えられた数値は、プログラムを作成して構成可能な最小の数を出力してください.
入力形式:
入力は1行に10個の非負の整数を与え、順序は私たちが0、数字1、......数字9の個数を持っていることを示す.整数間はスペースで区切られます.10個の数字の合計数は50を超えず、少なくとも1個の0以外の数字を有する.
出力フォーマット:
構成可能な最小の数を1行に出力します.
サンプルを入力:
2 2 0 0 0 3 0 0 1 0
出力サンプル:
10015558
構想
#include
int main()
{
int n[10];
//
for(int i = 0; i < 10; i++){
scanf("%d", &n[i]);
}
// 0 ,
for(int i = 1; i < 10; i++){
if(n[i]){
printf("%d", i);
n[i]--;
break;
}
}
// 0
for(int i = 0; i < 10; i++){
for(int j = 0; j < n[i]; j++){
printf("%d", i);
}
}
return 0;
}