Deskripsi Untuk Soal Nomor 31 dan 32
Perhatikan potongan kode program berikut
function kandang(ayam, kambing:integer):integer;
var rumput, sapi: integer;
begin
rumput:=(kambing-ayam) div 3;
sapi:=rumput*2;
if ayam > kambing then
kandang:= 0
else if (kambing-ayam < 3) then
kandang:= 2*(kambing-ayam)
else
kandang:= kandang(ayam,ayam+rumput)+
kandang(ayam+rumput,ayam+sapi)+
kandang(ayam+sapi,kambing);
end;Berapakah nilai dari kandang(2,6)?
Berapakah nilai dari kandang(2014,3021)?
program diatas akan menghasilkan selisih kedua bilangan yang diinput lalu dikalikan 2
sehingga
setuju sama jawabanya ardhi
31. 8
32. 2014
Pada program ini, pada percabangan yang else, ayam dan kambing hanya di divide menjadi 3 bagian tidak sama besar dan sama sekali tidak mengubah nilainya. Pada base casenya yaitu pada if atau pada else if , nilainya dikali 2. Sehingga sama saja dengan selisih kambing dan ayam dikali 2.
Masuk untuk menulis jawaban
ahsiyap
#include <iostream>
using namespace std;
int kandang (int ayam, int kambing){
int hasil;
int rumput = (kambing-ayam)/3;
int sapi = rumput*2;
if (ayam > kambing){
return hasil = 0;
}else if (kambing-ayam < 3){
return hasil = 2*(kambing-ayam);
}else{
return hasil = kandang(ayam, ayam+rumput) + kandang (ayam+rumput,ayam+sapi) + kandang(ayam+sapi, kambing);
}
}
int main(){
cout << kandang(2,6);
cout << kandang(2014,3021);
return 0;
}
coba compile aja sayang.... jawabannya 8 dan 2014
benar sekali, aku setuju sama jawaban Ardhi..
eh, maul..
salah tu jawabanmu !
SMA IT AL BINAA ISLAMIC BOARDING SCHOOL
31.8
kak ardhi kamal haq nggak perhatiin ada "div 3" di program "rumput := ..."