fbpx

Problema #26 – CelMaiMicNr – Rezolvari PBInfo

de Mihai-Alexandru

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

S-ar putea sa iti placa