TINGKAT KABUPATEN/KOTA
BIDANG INFORMATIKA/KOMPUTER
aabb
aabb
aabb
aabb
aabb
aabc
ccdd
ccde
cdde
cdee
cdef
ddbc
eeff
ffde
cffe
cdff
cdef
eeff
aabc
debc
deff
abbc
addc
eeff
abcc
abdd
eeff
abcc
abde
ffde
abcd
abcd
eeff
Jawaban:B
4.Marikitanomoriobjekobjektersebutdarikirikekanan.K=katak,B=batu,D=daun,S=
seberangsungai.
0
10
11
12
Misalkanf(x)=banyaknyacarauntukmencapaiseberangsungaidaripetaknomorx.Mari
1
TimOlimpiadeKomputerIndonesia(TOKI)
kitahitungnilaif(x)darixbesarkekecil.Tentusajakitatidakperlumenghitungf()untukpetak
yangberisidaun.
f(12)=1
(diamditempat)
f(11)=f(12)=1
(lompatkepetak12)
f(9)=f(11)=1
(lompatkepetak11)
f(7)=f(9)=1
(lompatkepetak9)
f(6)=f(7)=1
(lompatkepetak7)
f(5)=f(6)+f(7)=1+1=2
(lompatkepetak6atau7)
f(4)=f(5)+f(6)=2+1=3
(lompatkepetak5atau6)
f(2)=f(4)=3
(lompatkepetak4)
f(1)=f(2)=3
(lompatkepetak2)
f(0)=f(1)+f(2)=3+3=6
(lompatkepetak1atau2)
Jawabanyangdiinginkanadalahf(0)=6.
Jawaban:D
5.Terdapatbeberapakasus:
Cibimendapat7permen.Sisapermen=5,caramembagikankeAbidanBibi=6.
Cibimendapat8permen.Sisapermen=4,caramembagikankeAbidanBibi=5.
Cibimendapat9permen.Sisapermen=3,caramembagikankeAbidanBibi=4.
Cibimendapat10permen.Sisapermen=2,caramembagikankeAbidanBibi=3.
Cibimendapat11permen.Sisapermen=1,caramembagikankeAbidanBibi=2.
Cibimendapat12permen.Sisapermen=0,caramembagikankeAbidanBibi=1.
Maka,totalbanyaknyacaraadalah6+5+4+3+2+1=21cara.
Jawaban:E
6.Soaliniadalahpermasalahankombinasidenganperulangan.Ilustrasinyaadalahsebagai
berikut.AnggapPakDengklekmemiliki4buahkeranjang:
Keranjangnomor1untukmenyimpandonatrasastroberi
Keranjangnomor2untukmenyimpandonatrasacoklat
Keranjangnomor3untukmenyimpandonatrasavanilla
Keranjangnomor4untukmenyimpandonatrasacappuccino
AnggapsekarangPakDengkeksedangmemegangkeranjangnomor1.Setiappembelian
donatPakDengklekselaludapatdinyatakansebagaiserangkaianoperasi,dengansetiap
operasiadalahsalahsatudari:
1. Membelidonatdenganrasayangsesuaidengankeranjangsekarang.
2. Menyudahikeranjangsekarangdanmemegangkeranjangnomorselanjutnya.
dansebaliknya,setiapserangkaianoperasiselalumenyatakansebuahpembeliandonat.
KarenaPakDengklekinginmembeli4buahdonat,banyaknyaoperasi(1)adalah4.Karena
PakDengklekmemiliki4buahkeranjang,banyaknyaoperasi(2)adalah3.Maka,Pak
Dengklekharusmelakukan4+3=7buahoperasi.Dari7operasi,4diantaranyaharuslah
operasi(1).Maka,banyaknyacaraadalahC(7,4)=35.
2
TimOlimpiadeKomputerIndonesia(TOKI)
Secaraumum,jikakitamemilikinjenisbarang,dankitainginmemilihkbuahbarang,dengan
urutanbarangtidakdipentingkandansetiapjenisbolehdipilihlebihdarisekali,maka
banyaknyacaraadalahC(n+k1,n)=C(n+k1,k1).
Jawaban:E
7.Terdapat200orangyangsalingbersalaman.Jikaaturantidakbolehbersalamandengan
pasangansendiriditiadakan,jumlahsalamanyangterjadiadalah199+198+...+1+0salaman,
yaitu19900salaman(hitungdenganrumusderetaritmetika).Denganaturantidakboleh
bersalamandenganpasangansendiri,berartiada100salamanyangtidaksahkarenaada
100pasangan.Maka,terdapat19800salamanyangterjadi.
Jawaban:C
8.JikaCpencuri,maka,daripernyataanC,dapatdisimpulkanbahwaAadalahprajurit.Dan
karenaadasetidaknyasatuprajurit(A),makapernyataanBbenar,sehinggaBadalah
prajurit.Namun,inimenyebabkanpernyataanAsalah,karenaadalebihdarisatuorang
prajurit.Kontradiksi.Jadi,Cadalahprajurit.KarenaCprajurit,makadapatdisimpulkanA
pencuridaripernyataanC.Karenaadasetidaknyasatuorangprajurit(C),makaBadalah
prajurit.Sehingga,hanyaBdanCyangmerupakanprajurit.
Jawaban:D
9.Terdapat6permutasi:
ABC:5+3=8
ACB:4+3=7
BAC:5+4=9
BCA:3+4=7
CAB:4+5=9
CBA:3+5=8
Ratarata=(8+7+9+7+9+8)/6=8.
Jawaban:A
10.Marikitatinjaubilanganbilanganaslimenurutbanyaknyadigit.
Terdapat9bilangansatuan(1sampaidengan9).Masingmasingmemiliki1digit.
Maka,untukmenuliskanseluruhbilangansatuandibutuhkan1*9=9digit.
Terdapat90bilanganpuluhan(10sampaidengan99).Masingmasingmemiliki2
digit.Maka,untukmenuliskanseluruhbilangansatuandibutuhkan2*90=180digit.
Terdapat900bilanganratusan(100sampaidengan999).Masingmasingmemiliki3
digit.Maka,untukmenuliskanseluruhbilangansatuandibutuhkan3*900=2700digit.
Karena9+180masihkurangdari2013,dan9+180+2700sudahlebihdari2013,makakita
tahubahwaNadalahbilanganratusan.Untukmenuliskanseluruhbilangansatuandan
puluhan,dibutuhkan9+180=189digit.Maka,tersisa2013189=1824digituntuk
menuliskanbilanganbilangandari100sampaidenganN.Karenasetiapbilanganratusan
membutuhkan3digit,iniberartiada1824/3=608bilanganyangdituliskan.Dengan
demikian,N=100+6081=707.
3
TimOlimpiadeKomputerIndonesia(TOKI)
Jawaban:B
11.Dalampapancaturberukurann*n,terdapatn+1buahgarisvertikalyangmembujurdari
ataskebawah,dann+1buahgarishorizontalyangmelintangdarikirikekanan.Untuk
membentuksebuahpersegipanjang,kitaharusmemilihtepat2buahgarisvertikaldantepat
2buahgarishorizontal.Maka,banyaknyacaraadalah:
C(n+1,2)*C(n+1,2)=(C(n+1))^2
=(n(n+1)/2)^2
Jawaban:B
12.Kitaakanmenghitungberapabanyakangkadari1..10000(inklusif)yangtidak
mengandungdigit1.Karenaangka10000jelasjelasmemilikidigit1,kitabisa
mengabaikannya.Jadi,kitaakanmenghitungberapabanyakangkadari1..9999(inklusif)
yangtidakmengandungdigit1.
Perhatikanbahwaseluruhangkapadaintervalinidapatdinyatakandengan4digitangka.
Angka1dinyatakanoleh0001,angka2dinyatakanoleh0002,danseterusnya.Normalnya,
tiapdigitmemiliki10kemungkinan(0..9).Karenaituada10*10*10*101angkadari1..9999
(dikurangi1karenaada0000).Karenakitatidakinginadadigit1,makatiapdigithanya
memiliki9kemungkinan(0,2..9).Iniberartiada9*9*9*91angkadari1..9999(inklusif)yang
tidakmengandungdigit1.
Banyaknyaangkadari1..10000(inklusif)yangmengandungsetidaknya1digit1adalah
banyaknyaangkadari1..1000(inklusif)dikurangibanyakangkadari1..10000(inklusif)yang
tidakmengandungdigit1,yaitu100006560=3440.
Jawaban:C
13.Totalkebahagiaanmaksimumakandiperolehsecaragreedyapabilakitamengurutkan
nilainilaidariDewaWarisandannilainilaidariDewaSembilanbelas,lalumenikahkan
anakanakpadaposisiyangsama.
DewaWarisan:
DewaSembilanbelas:
6,3,2,5,9
4,1,0,7,8
Kebahagiaan=(6)*(4)+(3)*(1)+2*0+5*7+9*8=24+3+0+35+72=134.
Jawaban:A
14.Angka0dibelakangn!dihasilkandarifaktor10padan!.Karena10=2*5,maka
banyaknyaangka0dibelakangn!=min(banyaknyafaktor2padan!,banyaknyafaktor5
padan!).Karena2<5,makadidalamn!,faktor2pastimuncullebihbanyakdaripadafaktor
5.Olehkarenaitu,banyaknyaangka0dibelakangn!=banyaknyafaktor5padan!.
Banyaknyafaktor5darin!dapatdihitungdenganrumusberikut.Buktinyadiserahkankepada
pembaca.
floor(n/5)+floor(n/(5^2))+floor(n/(5^3))(sampaisukubernilai0)
4
TimOlimpiadeKomputerIndonesia(TOKI)
Marikitahitungrumustersebutuntuksetiappilihanjawaban:
8065/5+8065/25+8065/125+8065/625+8065/3125=2013
8064/5+8064/25+8064/125+8064/625+8064/3125=2012
8060/5+8060/25+8060/125+8060/625+8060/3125=2012
8051/5+8051/25+8051/125+8051/625+8051/3125=2010
8050/5+8050/25+8050/125+8050/625+8050/3125=2010
Maka,yangmemenuhiadalah8065.
Jawaban:A
15.Soaliniakanlebihmudahdikerjakanapabilakitamenganggapbahwakartukartu
dinomoridari0hingga30,dandisusunsecaramelingkar(bukantumpukan),sedemikian
sehinggauntukkartubernomorX,kartudisebelahkanannyaadalahkartubernomor(X+1)
mod31,dankartudisebelahkirinyaadalahkartubernomor(X1)mod31.Pertamatama,
kitatandaibahwakartuteratasadalahkartubernomor0.
Perhatikanbahwamelakukan1langkahsamasajadenganmemindahkantandatersebut
sebanyak5kartukesebelahkiri.Olehkarenaitu,dalam45langkah,tandaakanberpindah
sebanyak5*45=225langkahkesebelahkiri.Maka,tandatersebutakanberadapadakartu
nomor(0225)mod31=225mod31=8mod31=23.Maka,kartuteratasadalahkartu
nomor24.
Jawaban:A
16.Dengancarayangsamasepertinomorsebelumya,tandaakanberadapadakartunomor
(07*50)mod31=350mod31=9mod31=22.Maka,kartuteratasadalahkartunomor
23.
Jawaban:B
17.Selesaikanpersamaanberikut:
103x
(mod31)
13x
(mod31)
3x1
(mod31)
3x30
(mod31)
Maka,x=10.
Jawaban:D
18.Banyaknyalangkahminimumakantercapaiapabilakitamelakukanselectionsort.
Padamulanya:
3,2,1,5,7,4,8,6,10,9
Langkah1: 1,2,3,5,7,4,8,6,10,9
Langkah2: 1,2,3,4,7,5,8,6,10,9
Langkah3: 1,2,3,4,5,7,8,6,10,9
Langkah4: 1,2,3,4,5,6,8,7,10,9
Langkah5: 1,2,3,4,5,6,7,8,10,9
Langkah6: 1,2,3,4,5,6,7,8,9,10
Maka,dibutuhkanminimum6langkah.
5
TimOlimpiadeKomputerIndonesia(TOKI)
Jawaban:C
19.Jikakitamenindihnyasepertiini,akanterdapat30segitiga(termasuk3segitigaawalnya).
Jawaban:D
20.Misalkanjarijaripipatersebutadalahr,maka:
DenganrumusPythagoras,
r2
=(24r)2+122
r2
=57648r+r2+144
48r
=720
r
=15
Maka,diameternyaadalah30cm.
Jawaban:B
21.Misalkanf(X)=biayaminimumuntukmengalirkanairdarikeranXmenujukekanan.Kita
hitungnilainilaidarif(X)darikanankekirisebagaiberikut.
f(A3)=16+21=37
f(B3)=11+14=25
f(A2)=23+min(f(A3),4+f(B3))=23+min(37,29)=23+29=52
f(B2)=25+min(f(B3),7+f(A3))=26+min(25,44)=26+25=51
f(A1)=6+min(f(A2),5+f(B2))=6+min(52,56)=6+52=58
f(B1)=17+min(f(B2),3+f(A2))=17+min(51,65)=17+51=68
6
TimOlimpiadeKomputerIndonesia(TOKI)
Maka,biayaminimumkeseluruhanadalahmin(13+f(A1),9+f(B1))=min(71,77)=71.
Jawaban:B
22.Banyaknyacaramendapatkan4buahkartudengannilaiyangsamaadalah13cara,
karenaterdapat13macamnilaidanmasingmasingnilaimemilikitepat4buahkartu.Kartu
kelimadapatdipilihdalam524=48cara.Maka,banyaknyacaraterjadinyaFourofaKind
adalah13*48=624.
Jawaban:D
23.BanyaknyacaramendapatkannilaiXadalah13,danbanyaknyacaramendapatkannilaiY
adalah12.Banyaknyacaramendapatkan3dari4kartubernilaiXadalahC(4,3)=4.
Banyaknyacaramendapatkan2dari4kartubernilaiYadalahC(4,2)=6.Maka,banyaknya
caraterjadiFullHouseadalah13*12*4*6=3744.
Jawaban:E
24.Marikitahitungtotalwaktuyangdiperlukansetiappeserta.
Andy:1000/100+floor(1000/80)*45/60=19jam
Budi:1000/80+floor(1000/75)*30/60=19jam
Cory:1000/100+floor(1000/70)*15/60=13,5jam
Didy:1000/80+floor(1000/65)*12/60=15,5jam
Erna:1000/100+floor(1000/60)*6/60=11,6jam
Maka,pemenangnyaadalahErna.
Jawaban:E
25.Terdapat5buahkemungkinan,yakni:
DSupir
DSupir
G
F
C
G
F
C
E
B
A
E
A
B
DSupir
G
F
C
B
A
E
DSupir
G
F
C
A
B
E
GSupir
D
F
C
E
B
A
Jawaban:B
26.Dari5buahkemungkinanpadanomorsebelumnya,hanyaterdapat2buahkemungkinan
orangpadaposisi1:GatauD.JikaGbukanyangpalingdepan,makapastilahD.
Jawaban:D
27.Berdasarkanprinsipinklusieksklusi,banyaknyauntaianbitdenganpanjang10yang
diawali000ataudiakhiri1111samadenganbanyakuntaianbitdenganpanjang10yang
diawali000+banyakuntaianbitdenganpanjang10yangdiakhiri1111banyakuntaianbit
denganpanjang10yangdiawali000dandiakhiri1111.
Banyakuntaianbitdenganpanjang10yangdiawali000ada2^7.
7
TimOlimpiadeKomputerIndonesia(TOKI)
Banyakuntaianbitdenganpanjang10yangdiakhiri1111ada2^6.
Banyakuntaianbitdenganpanjang10yangdiawali000dandiakhiri1111ada2^3.
Maka,banyakuntaianbitdenganpanjang10yangdiawali000ataudiakhiri1111ada
128+648=184.
Jawaban:B
28.Tinjaupernyataanpernyataantersebut.
BasithadalahanggotaasosiasialumniTOKI.(benar)
CakraadalahalumniTOKI(belumtentukarenaCakrabelumtentuikutpelatnas)
Nathanpernahmengikutipelatnas(benar)
CakrapernahmengikutiIOI(belumtentukarenaCakrabelumtentuikutpelatnas)
Jawaban:D
29.Berdasarkanprinsipinklusieksklusi,banyaknyanomorteleponyangmudahdiingat
adalah(banyaknyanomordenganabc=def)+(banyaknyanomordenganabc=efg)
(banyaknyanomordenganabc=defdanabc=efg).
Banyaknyanomordenganabc=defada10*10*10*10kemungkinan.(a,b,c,g
masingmasingmemiliki10kemungkinan).
Banyaknyanomordenganabc=efgada10*10*10*10kemungkinan.(a,b,c,d
masingmasingmemiliki10kemungkinan).
Ketikaabc=defdanabc=efg,iniberartia=d=e,b=e=f,c=f=g.Jikakitatelusurilebih
lanjut,iniberartia=b=c=d=e=f=g,yangberartisemuadigitsama.Ada10
kemungkinan.
Maka,banyaknyanomorteleponyangmudahdiingatadasebanyak19990.
Jawaban:E
30.KitagambarkanDiagramVennuntukmasalahini:
Untukmembuatnya,pertamahitungbanyaknyabilanganyanghabisdibagi3,5,dan7,yaitu
floor(2013/(3*5*7))=19.Lalu,hitungbanyaknyabilanganyanghabisdibagi3dan5,yaitu
8
TimOlimpiadeKomputerIndonesia(TOKI)
floor(2013/(3*5))=134.Karenasudahterisi19,makasisanya115.Danseterusnya.
Totalbilanganyangdicetakmerahmerupakanjawabanyangdiinginkan,yakni461+115+
230+154=960.
Jawaban:B
9
TimOlimpiadeKomputerIndonesia(TOKI)
34.Pertamatama,kitaanalisisterlebihdahulu,apayangsebenarnyafungsiwow(n)hitung?
Jikakitabacadanpelajarikodenyabaikbaik,rupanyajikafaktorisasiprimadarinadalahp1^a1
*p2^a2**pk^ak,makawow(n)bernilai(a1+1)*(a2+1)**(ak+1).
Olehkarenaitu,kitadapatsajamencobamemfaktorisasikansetiappilihanjawaban:
32=2^5
>wow(32)=6
512=2^9
>wow(512)=10
1000=2^3*5^3
>wow(1000)=4*4=16
48=2^4*3
>wow(48)=5*2=10
38=2*19
>wow(38)=2*2=4
Darisemuapilihandiatas,nilainterkecilyangmenghasilkanwow(n)=10adalah48.
Jawaban:D
35.Kitamemilikisebuahstrukturdatastack.Padaawalnya,stacktersebutberisinilainilai1,
3,5,7,9dariatas(head)kebawah(tail).Fungsipop()akanmembuangnilaiteratasdari
stackdanmengembalikannya.Jikastackkosong,makapop()akanmengembalikannilai1.
Nilaitersebuttidakbenarbenardibuang,namunheadnyasajayangbergerak1elemen
mendekatitail.
Kondisiawalstackadalahsebagaiberikut:
head
1
tail
3
Setelahdilakukanpop()satukali,kondisinyaberubahmenjadi:
head
3
tail
5
Kemudian,3nilaiteratasakandipop()sekaligusdicetak.Maka,yangtercetakadalah:
3
5
7
Jawaban:C
36.Kitacobasimulasikankodetersebut.
x=1,pop()=1,kondisiberubahmenjadi:
head
3
tail
5
Karena1<>1,makapop()dipanggillagi(menghasilkandanmembuang3),laludicetak.
Kondisiberubahmenjadi:
head
5
tail
7
10
TimOlimpiadeKomputerIndonesia(TOKI)
x=2,pop()=5,kondisiberubahmenjadi:
head
7
tail
9
Karena5<>1,makapop()dipanggillagi(menghasilkandanmembuang7),laludicetak.
Kondisiberubahmenjadi:
head
tail
x=3,pop()=9,kondisiberubahmenjadi:
head,tail
Karena9<>1,makapop()dipanggillagi(menghasilkan1),laludicetak.
Maka,yangtercetakadalah:
3
7
1
Jawaban:D
37.FungsiBunga()bersifatrekursif.Marikitaselesaikandengancarabottomup.Perhatikan
bahwanilaidariBunga(x)bergantungpadanilaidariBunga(y),untuk0<=y<=x.Oleh
karenaitu,kitahitungnilaifungsiinidarinilaixyangkecilkebesar.
Bunga(0)=1
Bunga(1)=Bunga(0)=1
Bunga(2)=Bunga(0)+Bunga(1)=1+1=2
Bunga(3)=Bunga(0)+Bunga(1)+Bunga(2)=1+1+2=4
Jawaban:D
38.JikakitateruskanmenghitungnilainilaiBungapadanomorsebelumnya,makaakan
terlihatpolabahwaBunga(x)=2^(x1)untukx>0.Olehkarenaitu,Bunga(21)=2^20=
1048576.Halinitentusajadapatdibuktikandenganmetodeinduksi,yangbuktinya
diserahkankepadaparapembaca.
Jawaban:B
39.Marikitasimulasikanloopwhilepadakodetersebut.Perhatikanbahwapotongankode:
if(num1mod2+num2mod2=1)then
dare:=dare+temp
else
dare:=dare+((num1mod2+num2mod2)*temp)
sebenarnyasamasajadengan
dare:=dare+((num1mod2+num2mod2)*temp)
11
TimOlimpiadeKomputerIndonesia(TOKI)
sehinggadapatmempermudahpenghitungan.
Hasilsimulasi:
Iterasi
num1
num2
num1mod2+num2mod2
dare
temp
16
16
24
32
Jawaban:B
40.Hasilsimulasi:
Iterasi
num1
num2
num1mod2+num2mod2
dare
temp
120
30
60
15
30
15
22
16
54
32
86
64
150
128
Jawaban:B
41.Terdapatsetidaknyaduacarauntukmenjawabsoalini.
Cara1:Pilihanjawabanyangmanayangcocokdengankeduacontohberikut?
Masukan:168Keluaran:24
Masukan:12030
Keluaran:150
Tentusaja,yangcocokadalahA.Menjumlahkan2buahbilanganbulatpositif.
Cara2:Menganalisisprogramtersebutlebihmendalam.Perhatikanbahwayangdilakukan
olehprogramtersebutadalahmemproseskeduabilanganmasukanbitperbit,darinilai
satuan,duaan,empatan,delapanan,enambelasan,danseterusnya(yakni,dalambasis
dua).Nilaitempadalah2^i,denganiadalahposisibitsaatini.Nilainum1mod2menunjukkan
apakahbitkeidarinum1menyalaatautidak.Nilainum2mod2menunjukkanapakahbitkei
darinum2menyalaatautidak.Apabiladijumlahkan,inimenunjukkanbanyaknyabityang
menyalapadaposisikei.Kemudian,nilaidareditambahkandengan(temp*banyaknyabit
yangmenyala).Padaakhirnya,semuabitakandiprosesdaninimenunjukkanbahwa
sebenarnyayangdilakukanadalahmenjumlahkankeduabilangantersebut.
Jawaban:A
12
TimOlimpiadeKomputerIndonesia(TOKI)
42.KarenaM=100,tidakpraktiskalaukitamelakukansimulasiprogram.Kitaharus
melakukananalisismengenaiapayangsebenarnyadilakukanprogram.Ternyata,program
inimelakukanalgoritmaSieveofEratosthenes.Setelahdijalankan,A[x]akanbernilaitruejika
xprima(atau1)danfalsejikaselainnya.B[x]akanbernilaibilanganprimaterkecilkex.
Sehingga,nilaiB[10]adalahbilanganprimake10yakni29.
Jawaban:D
43.Cukuplakukansimulasiterhadapprogramtersebut.Potongankodeini:
t:=A[i]xorA[j]
A[i]:=txorA[i]
A[j]:=txorA[i]
berartimenukarkannilaiA[i]danA[j].
i
A[1]
A[2]
A[3]
A[4]
A[5]
Jawaban:B
44.Lakukansimulasinyasecaratopdown(pemanggilanfungsikambing(x)untukx>10tidak
ditulisuntukmenghemattempat):
kambing(8) data[8]
kambing(4) data[4]
kambing(9) data[9]
kambing(2) data[2]
kambing(10) data[10]
kambing(5) data[5]
kambing(1)
data[1]
kambing(6)
kambing(3)
data[6]
data[3]
kambing(7)
data[7]
Dengandemikian,urutanindekspencetakanadalah8,4,9,2,10,5,1,6,3,7.Sehingga,
yangtercetakadalah86591013427.
Jawaban:D
13
TimOlimpiadeKomputerIndonesia(TOKI)
45.Agarhasilyangtercetakterurutmenaik,menuruthasilpadasoalsebelumnya,makahal
iniharusberlaku:data[8]=1,data[4]=2,data[9]=3,,data[7]=10.Maka,arrayyang
memenuhiadalah(7,4,9,2,6,8,10,1,3,5).
Jawaban:A
46.Cukuplakukansimulasiterhadapprogramtersebut.
x
13
40
20
10
16
Jawaban:E
47.Perhatikanfungsirekursifghi().Untukmemudahkansimulasi,kitaharusmencaribentuk
tertutup(nonrekursif)darifungsiini.Jikadilakukananalisismendalam,makaghi(x,b)
bernilai:
x,jikab=1
x^bmod100,jikab>1.
Setelahmengetahuifaktaini,kitalakukansimulasiterhadapprogramtersebut:
def(7,100) =def(7,abc(100))
=def(7,298)
=def(7,abc(298))
=def(7,890)
=def(7,abc(890))
=def(7,2669)
=ghi(7,2669)mod100
=(7^2669mod100)mod100
=7^2669mod100
=7
Hasilpenghitunganterakhirdiatasdapatdilakukanmenggunakanteknikexponentiationby
squaringataumenggunakanteoremaEuler.
Jawaban:B
48.Kembalilakukansimulasiterhadapprogramyangtelahdimodifikasitersebut:
def(7,151) =def(7,abc(151))
=def(7,301)
=def(7,abc(301))
=def(7,601)
=ghi(7,601)mod100
=(7^601mod100)mod100
=7^601mod100
=7
Hasilpenghitunganterakhirdiatasdapatdilakukanmenggunakanteknikexponentiationby
squaringataumenggunakanteoremaEuler.
Jawaban:B
14
TimOlimpiadeKomputerIndonesia(TOKI)
49.Kembalilakukansimulasiterhadapprogramyangtelahdimodifikasitersebut:
def(3,30)
=def(3,abc(30))
=def(3,88)
=def(3,abc(88))
=def(3,260)
=def(3,abc(260))
=def(3,779)
=ghi(3,779)mod10
=(3^779mod100)mod10
=67mod10
=7
Hasilpenghitungankeduadariterakhirdiatasdapatdilakukanmenggunakanteknik
exponentiationbysquaringataumenggunakanTeoremaEuler.
Jawaban:C
50.Cukuplakukansimulasiterhadapprogramtersebut.
tebak_angka(18,30) =tebak_angka(18,26)
=tebak_angka(18,22)
=tebak_angka(18,18)
=tebak_angka(18,14)
=tebak_angka(14,18)
=tebak_angka(14,13)
=tebak_angka(13,14)
=tebak_angka(13,10)
=tebak_angka(10,13)
=tebak_angka(10,12)
=tebak_angka(10,11)
=tebak_angka(10,10)
=tebak_angka(10,9)
=tebak_angka(9,10)
=tebak_angka(9,5)
=tebak_angka(5,9)
=tebak_angka(5,8)
=tebak_angka(5,7)
=tebak_angka(5,6)
=tebak_angka(5,5)
=tebak_angka(5,4)
=tebak_angka(4,5)
=5
Jawaban:E
15
TimOlimpiadeKomputerIndonesia(TOKI)