425
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 <algorithm>
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