332
Cerința
Se dă numărul natural n și se cere să se afișeze cel mai mic număr natural format din cifrele sale.
Date de intrare
Fișierul de intrare mincifre.in conține pe prima linie numărul n.
Date de ieșire
Fișierul de ieșire mincifre.out va conține pe prima linie numărul m, reprezentând cel mai mic număr ce se poate forma cu cifrele numărului din fișierul de intrare.
Restricții și precizări
- Numerele citite vor avea cel mult
10.000de cifre
Exemplu
mincifre.in
321
mincifre.out
123
Explicație
Cel mai mic număr ce se poate forma cu cifrele 3,2,1 este 123.
#include <bits/stdc++.h>
using namespace std;
ifstream cin("mincifre.in");
ofstream cout("mincifre.out");
int main()
{
char s[10001];
int a[10001]={0} , n = 0;
cin >> s;
for(int i = 0 ; s[i] ; i++)
a[++n]=s[i]-'0';
sort(a+1 , a+n+1);
int cnt =0 , nr = 0;
while(a[++nr]==0) cnt++;
cout << a[cnt+1];
for(int i = 1 ; i <= cnt ; ++i)
cout << a[i];
for(int i = cnt+2 ; i <= n ; ++i)
cout << a[i];
}
Comentarii