Cerinţa
Să se scrie o funcție care are ca parametru un număr natural n
și returnează cel mai mare număr care poate fi obținut mutând, pe rând, prima cifră a numărului n
și a celor obținute pe parcurs, pe ultima poziție. Nu se vor folosi șiruri de caractere și tablouri auxiliare.
Restricţii şi precizări
- numele funcției va fi
nrmaxim
- funcția va avea un parametru reprezentând numărul dat, care va fi mai mic decât
1.000.000.000
Exemplu
nrmaxim(n=4273) = 7342
– este cel mai mare număr dintre 2734
, 7342
, 3427
, 4273
.
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.
long long nrmaxim(long long n) { long long put=1,p=0,maxi=-1; long long aux=n; while(aux!=0) { put=put*10; p++; aux /= 10; } while(p!=0) { n=n%(put/10)*10+n/(put/10); if(n>maxi) maxi=n; p--; } return maxi; }