Deskripsi untuk soal nomor 38 - 39
Perhatikan potongan program berikut:
function sapi(kucing: integer): integer;
begin
if (kucing <= 2 ) then
sapi:= 1
else
sapi:= sapi(kucing div 2)+1;
end;
function ayam(rumput: integer): integer;
begin
if (rumput < 1024) then
ayam:= ayam(rumput*2) + sapi(rumput)
else
ayam:= 0;
end;
function rumput(batu: integer): integer;
var a, c:integer;
begin
a:=2;
c:=1;
while (batu > 0) do
begin
if ((batu mod 2) = 1) then
c:=c*a;
batu:= batu div 2;
a:= a*a;
end;
rumput:=c;
end;
Berapakah nilai dari ayam(rumput(9))
?
A. 19
B. 10
C. 9
D. 8
E. 7
Berapakah nilai dari ayam(rumput(2))
?
A. 44
B. 42
C. 8
D. 2
E. 1