Bantu temanmu belajar dengan menambahkan soal di Kujawab. Klik disini..

Olimpiade Sains Kota (OSK) 2009 - Komputer , Nomor 36

36

Perhatikan fungsi berikut ini:

function tail(x, y: integer): integer;
begin
 if (y=0) then tail:=x else tail:=tail(y, x mod y);
end;

Fungsi rekursif di atas ekivalen dengan fungsi...

A.

function tail(x, y:integer): integer;
var z:integer;
begin
 while (y<>0) do
 begin z:=x mod y; x:=y; y:=z end;
 tail:=x;
end;

B.

function tail(x, y:integer): integer;
var z:integer;
begin
 while (y<>0) do
 begin z:=x mod y; x:=y; y:=z end;
 tail:=z;
end;

C.

function tail(x, y:integer): integer;
begin
 if (y=0)
 then tail:=y
 else tail:=tail(y, x mod y);
end;

D.

function tail(x, y:integer): integer;
begin
 if (y=0)
 then tail:=x
 else tail:=tail(y mod x, y);
end;

E.

function tail(x, y:integer): integer;
begin
 if (x=0)
 then tail:=x
 else tail:=tail(y, x mod y);
end;