316
Cerinţa
Să se scrie o funcție C++ care să returneze cel mai mic număr care se poate scrie cu cifrele unui număr natural transmis ca parametru.
Restricţii şi precizări
- numele funcției va fi
cmmnr
- funcția va avea un parametru reprezentând numărul care se dă
- numărul care se dă va fi mai mic decât
1.000.000.000
Important
Soluţia propusă va conţine doar definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.
#include <bits/stdc++.h> int cmmnr(int n) { long long int v[10] , o=0 ,p=0 , cnt=0; while(n) { if(n%10==0) cnt++; else { v[p]=n%10; p++; } n/=10; } sort(v , v+p); int ok=0; for(int i = 0 ; i < p ; ++i) { o=o*10+v[i]; ok++; if(ok==1) { for(int i = 0 ; i < cnt ; ++i) { o=o*10; } } } return o; }
Comentarii