Deskripsi Untuk Soal Nomor 49 dan 50
function begin if y = 0 then naon := 1 else if y = 1 then naon := x else naon := naon(x, y div 2) * naon(x, y div 2 ) * naon(x, y mod 2); end;
Berapakah hasil dari naon(3, 8)?
a. 11
b. 24
c. 6561
d. 512
e. 81
Berapa kalikah fungsi naon dipanggil pada pemanggilan naon(4, 13)?
a. 13
b. 15
c. 20
d. 21
e. 22
49. (3,8) => (3,4)*(3,4)*(3,0) => 81*81*1 => 6561 (C)
(3,4) => (3,2)*(3,2)*(3,0) => 9*9*1 => 81
(3,2) => (3,1)*(3,1)*(3,0) => 3*3*1 => 9
50. (4,13) => hasilnya 21 + 1 [manggil dirinya sendiri yaitu (4,13) => 22 (E) jawaban nomor 50
(4,13 ) => (4,6) (4,6) (4,1) => 7*2 + 1 => 9*2 [ (4,6) ada dua dan setiap (4,6) bakal manggil 9 naon] + 3 ( manggil dirinya sediri ) => 21
(4,6) => (4,3) (4,3) (4,0) => 3*2 [ (4,3) ada 2 nah setiap (4,3) bakal manggil 3 naon] + 3 ( manggil dirinya sendiri ) => 9
(4,3) => (4,1) (4,1) (4,1) => 3 ( manggil dirinya sendiri )
#setiap (4,1) dan (4,0 ) tidak akan memanggil fungsi naon lain, melainkan langsung menghasilkan nilai x atau 1
49. (C)
tinggal dijalankan rekursif else .....
Masuk untuk menulis jawaban
Menurut saya ini mirip program pemangkatan
Kalau nomor 49 => 3^8 = 6561 (C)
Nahh iya, Terima Kasih masukannya
Brilian. Tapi ingat, nomor 50 yang ditanyakan adalah berapa kali fungsi 'naon' dipanggil saat inputnya (4,13), bukan hasil dari naon(4,13)