Tuliskan output dari program pseudo code di bawah ini jika input x = 9.
function jarak(km:integer): integer;
begin
if (km <= 2) then
jarak := 1
else
jarak := jarak(km-1) + jarak(km-2);
end;
var
i, x :integer;
begin
readln(x);
for i := x downto 1 do
write(jarak(i), ' ');
end.
Aku noob
fungsi jarak(x) mengembalikan fibonacci ke-x. outputnya :
34 21 13 8 5 3 2 1 1
34 21 13 8 5 3 2 1 1
semoga menjawab
function jarak(km:integer): integer;
begin
if (km <= 2) then
jarak := 1
else
jarak := jarak(km-1) + jarak(km-2);
end;
"jarak" adalah sebuah fungsi rekursi, dengan basis jarak(1)=jarak(2)=1, dan rekurens jarak(x)=jarak(x-1)+jarak(x-2). oleh karena itu, nilai jarak(x) akan membentuk sebuah pola yaitu barisan fibonacci 1, 1, 2, 3, 5, 8, 13, 21, 34, ...
for i := x downto 1 do
write(jarak(i), ' ');
pengulangan for di atas akan menuliskan nilai dari jarak(i), dimulai dari i=9 sampai i=1, diikuti dengan sebuah karakter spasi. maka yang akan dikeluarkan program di atas adalah
34 21 13 8 5 3 2 1 1
Masuk untuk menulis jawaban
Be Positive
j(9)=j(8)+j(7)=21+13=34
j(8)=j(7)+j(6)=13+8=21
j(7)=j(6)+j(5)=8+5=13
j(6)=j(5)+j(4)=5+3=8
j(5)=j(4)+j(3)=3+2=5
j(4)=j(3)+j(2)=2+1=3
j(3)=j(2)+j(1)=1+1=2
Famous
34 21 13 8 5 3 2 karena jarak adalah fungsi rekursi