Perhatikan potongan program di bawah ini!
procedure f(x: longint; y: longint; z: longint);
begin
if (y = 0) then
writeln(z)
else
begin
if (y mod 2 = 1) then
z := z + x;
f(2*x, y div 2, z)
end;
end;
Berapakah bilangan yang tercetak dilayar jika dilakukan pemanggilan f(15,97,0)?
SMA IT AL BINAA ISLAMIC BOARDING SCHOOL
1455
Siswa SMA Negeri 68 Jakarta
setiap kali rekursi maka nilai x akan dikalikan dengan dan nilai y akan di-div dengan 2.
nilai z akan ditambahkan dengan x bila y merupakan bilangan ganjil.
maka f(15,97,0) adalah 1455
Masuk untuk menulis jawaban