259
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.000
de 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