fbpx

Problema #909 – PermCircCif – Rezolvari PBInfo

de Mihai-Alexandru

Cerinţa

Să se scrie o funcție C++ care să realizează permutarea circulară spre stânga a cifrelor unui număr natural. Numărul este transmis prin intermediul unui parametru care se întoarce din funcție modificat.

Restricţii şi precizări

  • numele funcției va fi perm
  • funcția va avea un singur parametru, n
  • parametrul n va fi un număr natural nenul mai mic decât 1.000.000.000

Exemplu

Dacă n = 1372, după apelul funcției perm, valoarea lui n va fi 3721.

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.

void perm(int& n)
{
    int m=n, cnt=0,p=1,c=0;
    while (m)
    c=m%10, m/=10, cnt++;
    for (int i = 1; i <= cnt-1; ++i)
        p*=10;
    n%=p;
    n=n*10+c;
}
Comentarii

S-ar putea sa iti placa