Informatică, întrebare adresată de stefaniaharaboox1f99, 8 ani în urmă

Subprogramul f este definit alaturat. Indicati valoarea f(4770777,7)



int f (int n, int k)
{ if (n!=0)
if(n%10==k) return 1+f(n/10,k);
return 0;
}

Răspunsuri la întrebare

Răspuns de lucaciucandrei
8

f(4770777,7) = 3

numara cate cifre de 7 exista la coada pana da de o cifra diferita de 7, atunci se opreste

Răspuns de Rayzen
4

Răspuns:

f(4770777, 7) = 3

\\

Explicație pas cu pas:

f = f(4770777, 7)

\\

4770777 != 0:

4770777 % 10 == 7:

f = 1 + f(477077, 7)

\\

477077 != 0:

477077 % 10 == 7:

f = 1 + \big(1 + f(47707, 7)\big)

\\

47707 != 0:

47707 % 10 == 7:

f = 1 + \Big(1 + \big(1 + f(4770, 7)\big)\Big)

\\

4770 != 0:

4770 % 10 != 7:

f = 1 + \big(1 + (1 + 0)\big)

f = 3


lucaciucandrei: tot mai frumos era scris pe foaie :))
Alte întrebări interesante