Cerința
Subprogramul duplicare
are un singur parametru, n
, prin care primește un număr natural (n∈[1,10
4
)
). Subprogramul furnizează, prin același parametru, numărul obținut din n
prin inserarea, după fiecare cifră pară din scrierea lui, a unei cifre egale cu jumătate din aceasta.
Scrieți definiția completă a subprogramului.
Exemplu
Dacă n=2380
după apel, n=2138400
, iar dacă n=35
după apel, n=35
.
Important
Soluția propusă va conține definiția subprogramului cerut. 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 duplicare(int &n) { int a[30] , p = 1; while(n) { a[p]=n%10; n/=10; p++; } p--; for(int i = p ; i >= 1 ; --i) { if(a[i] % 2 == 0) n = n * 10 + a[i] , n = n * 10 + a[i]/2; else n = n * 10 + a[i]; } }