Soal Algoritma Pascal : Rekursif

Diposting oleh Mustaqim on Sabtu, 04 Februari 2012

Soal 41 OSN Komputer 2011 Kabupaten:
Perhatikan potongan program berikut:
function a(n:integer):integer;
begin
  if (n=0) then
    a:=0;
  else
    a:=1-n*a(n-1);
end;
Berapakah hasil dari a(5)?
(a) -120
(b) -76
(c) 0
(d) 120
(e) 76
Pembahasan :
-----------------------------------------------
n=5
(n=0) False
a(5) = 1 - 5*a(4)
-----------------------------------------------
n=4
(n=0) False
a(4) = 1 - 4*a(3)
-----------------------------------------------
n=3
(n=0) False
a(3) = 1 - 3*a(2)
-----------------------------------------------
n=2
(n=0) False
a(2) = 1 - 2*a(1)
-----------------------------------------------
n=1
(n=0) False
a(1) = 1 - 1*a(0)
-----------------------------------------------
n=0
(n=0) True
a(0) = 0
-----------------------------------------------
jadi :
a(0)=0
a(1)= 1 - 1*0 = 1
a(2)= 1 - 2*1 = -1
a(3)= 1 - 3*(-1) = 4
a(4)= 1 - 4*4 = -15
a(5)= 1 - 5*(-15) = 76
jawaban (e)





Artikel terkait :



{ 0 komentar... baca komentar dibawah or tulis komentar }

Posting Komentar