422
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;
}
Comentarii