Berikut ini adalah pertanyaan dari anggitaintan pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas
uran font soal: A A A
Perhatikan potongan program berikut ini:
int kucing(int tikus, int keju) {
if (tikus>keju) {
return 0,
} else {
return tikus + kucing(tikus * 2 +1,
keju);
}
}
Jawaban dan Penjelasan
Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.
Jawaban:
2036
Penjelasan:
Karena fungsi tersebut kucing melakukan rekursi dengan mengubah nilai tikus menjadi 2 kali + 1 nilai sebelumnya yang kemudian semua nilai tikus akan dijumlahkan. Fungsinya akan berhenti melakukan rekursi jika nilai tikus lebih besar dari keju.
Oleh karena itu nilai tikus akan menjadi
(1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047) Namun karena nilai yang lebih besar dari 2018 tidak dihitung, fungsi akan menghasilkan 2036.
Semoga dengan pertanyaan yang sudah terjawab oleh bagas101021p04r61 dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.
Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact
Last Update: Thu, 26 Aug 21