Diketahui definisi fungsi sebagai berikut. Jika max(a,b) adalah fungsi yang mengembalikan nilai maksimum dari a dan b, berapakah nilai dari F1(4,3)?
function F1(i, j : integer) : integer;
begin
if (i < 0) or (j < 0) then
F1 := max(i, j) + 1
else if i = j then
F1 := F1(i + 1, j - 1)
else
F1 := F1(i - 2, j - 1) + F1(i - 1, j - 2);
end;Siswa SMA Negeri 68 Jakarta
pemanggilannya adalah sebagai berikut:
F(4,3) --> F(2,2) + F(3,1)
F(2,2) --> F(3,1)
F(3,1) --> F(1,0) + F(2,-1)
F(1,0) --> F(-1,-1) + F(0,-2)
sebagai basecase maka nilai:
F(2,-1) = 2+1 = 3
F(-1,-1) = -1 + 1 = 0
F(0,-2) = 0 + 1 = 1
oke masukkan lagi nilainya
F(4,3) --> F(2,2) + F(3,1) = 8
F(2,2) --> F(3,1) = 4
F(3,1) --> F(1,0) + F(2,-1) = 4
F(1,0) --> F(-1,-1) + F(0,-2) = 1
nilai F(4,3) adalah 8
Masuk untuk menulis jawaban