Hari 1 / Soal 1: Bukit dan Lembah
Kode Soal: bukitBatas Run-time: 1 detik / test-case Batas Memori: 1 MB
Masukan: Standard input Keluaran: Standard output
Deskripsi
Diberikan data ketinggian yang di catat dalam perjalanan dari suatu posisi awal ke posisi akhir. Data ketinggian adalah bilangan-bilangan integer (bulat) positif. Jalan kadang menaik, kadang menurun, kadang datar saja. Posisi dimana terjadi perubahan menaik kemudian menurun (boleh diselingi jalan datar) didefinisikan sebagai puncak dari suatu bukit. Sebaliknya, posisi terjadi perubahan dari menurun terus menaik (boleh diselingi bagian jalan yang datar) didefinisikan sebagai titik terbawah suatu lembah. Walaupun perubahan tersebut kecil saja, definisi itu tetap berlaku. Carilah beda ketinggian terbesar antara puncak bukit dengan titik terbawah lembah berikutnya atau sebaliknya antara titik terbawah lembah dengan puncak bukit berikutnya pada data perjalanan tersebut.
Masukan
Masukan berisi data yang bisa sangat banyak sekali. Setiap elemen data dalam baris tersendiri. Anda membacanya dari yang pertama hingga end of file; minimal ada dua data dalam masukan..
Keluaran
Program hanya menghasilkan satu bilangan yang menyatakan beda ketinggian terbesar yang diperoleh. Perbedaan tinggi paling besar dijamin tidak akan melebihi harga long integer dalam Pascal.
Contoh
Masukan 10 26 26 35 35 27 30 30 45 10 8 9 Keluaran 37Penjelasan
Ada 12 data. Beda ketinggian pertama (10 ke 35) adalah 25, beda kedua (35 ke 27) adalah 8, beda ketiga (27 ke 45) adalah 18, beda ketinggian keempat (45 ke 8) adalah 37, dan beda ketinggian kelima (8-9) adalah 1. Jadi beda ketinggian tertinggi adalah 37.
Petunjuk Standard I/O
Banyak peserta yang tidak mengikuti PJJ karena berbagai alasan. Dalam deskripsi soal-soal PJJ diberikan contoh-contoh bagaimana membaca dari standard input/output. Tapi, ok sekarang diberikan contoh membaca semua bilangan dari standard input dengan format seperti yang digunakan pada sal Bukit-Lembah.
var bil: integer; begin
while not eof(input) do begin readln(bil);
write(bil,' '); end;
end.
Misalnya, disimpan dengan nama coba.pas. Untuk mengujinya, buatlah file coba.txt berisi bilangan-bilangan dengan format seperti untuk soal Bukit-Lembah sbb.
34 2 44 2 4 5 245 3 32
Setelah dicompile, jalankan dengan perintah
coba < coba.txt
Soal-soal lainnya pun menggunakan standard input/output sehingga anda tidak perlu assign(...), dst.
Hari 1 / Soal 2: Kata Spiral
Kode Soal: spiralBatas Run-time: 1 detik / test-case Batas Memori: 1 MB
Masukan: Standard input Keluaran: Standard output
Deskripsi
Suatu sistem sandi menyandikan kalimat yang diberikan dalam bantuk spiral. Penyusunan tersebut dilakukan membentuk matriks spiral yang dimulai pusat matriks 1 karakter pertama, lalu 1 karakter berikutnya ke kanan, lalu 1 karakter berikutnya ke bawah, lalu 2 karakter berikutnya ke kiri, lalu 2 karakter berikutnya ke atas, 3 karakter berikutnya ke kanan, 3 karakter berikutnya ke bawah, dan seterusnya hingga semua karakter dalam kalimat termasuk dalam spiral. Khususnya, karakter spasi di ganti dengan “_” (underscore), dan jika ada baris/kolom tersisa setelah karakter terakhir maka elemen-elemen matriks diisi juga dengan “_” (underscore) tsb. Misalnya kalimat “Seluruh peserta OSN bidang komputer harus mengerjakan soal-soal sebaik-baiknya untuk mendapatkan peringkat terbaik.” Dikodekan kedalam matriks sebagai berikut. b a i k . _ _ _ _ _ _ r a i k n y a _ u n t e b m e n g e r j a u t - _ b i d a n g k k _ k s _ h _ p e _ a _ t i u N u S e s k n m a a r S r u l e o _ e k b a O _ a t r m s n g e h _ r e t u p o d n s _ l a o s - l a a i r e p _ n a k t a p
Masukan
Program membaca satu baris teks paling panjang 250 karakter.
Keluaran
Program harus menghasilkan sejumlah baris sesuai dengan matriks yang dibentuk. Setiap baris keluaran berisikan karakter-karakter dari baris yang sama berturut-turut dari kolom paling kiri ke paling kanan tanpa pemisahan (karakter-karakter dituliskan bersambungan menjadi satu string serta jangan lupa setiap spasi menjadi underscore).
Contoh 1
Masukan (tertulis dalam satu baris)
Seluruh peserta OSN bidang komputer harus mengerjakan soal-soal sebaik-baiknya untuk mendapatkan peringkat terbaik. Keluaran baik.______ raiknya_unt ebmengerjau t-_bidangkk _ks_h_pe_a_ tiuNuSesknm aarSruleo_e kbaO_atrmsn geh_retupod ns_laos-laa irep_naktap
Contoh 2
Masukan (tertulis dalam satu baris)
TOKI
Keluaran (ada ralat pada ralat ini)
TO IK
Contoh 3
Masukan (tertulis dalam satu baris) OSN Keluaran OS _N
Contoh 4
Masukan (tertulis dalam satu baris)
Bisakah Kamu?????
Keluaran
_h_Ka _aBim _kasu ?????
Hari 1 / Soal 3: Faktorial
Kode Soal: faktorialBatas Run-time: 1 detik / test-case Batas Memori: 1 MB
Masukan: Standard input Keluaran: Standard output
Deskripsi
Pasti anda sudah pernah belajar apakah itu bilangan faktorial. Sesuai dengan definisinya bilangan faktorial n! = n.(n-1).(n-2)…..1. Untuk n yang kecil bilangan tersebut masih mudah dihitung dengan manual tetapi untuk n yang cukup besar bisa menghasilkan bilangan dengan jumlah digit yang amat banyak sehingga tentu melelahkan jika dihitung dengan manual bahkan dengan komputerpun kita perlu cara khusus untuk menanganinya akibat adanya batasan representasi bilangan integer. Oleh sebab itu dalam rumus-rumus bilangan faktorial tetap dinyatakan dalam bentuk n!, misalnya n!/(n-k)!k!. Untuk perhitungan (50! * 100! * 75!)/(73! * 99! * 52!) tentu tidak memungkinkan kalau masing-masing bilangan faktorialnya dihitung terlebih dahulu lalu diperkalikan/diperbagikan kemudian. Sebaliknya, akan lebih mudah jika dilakukan penyederhanaan dengan menghilangkan faktor-faktor yang sama antara pembilang (di atas tanda bagi) dan penyebut (di bawah tanda bagi) sampai tinggal sejumlah bilangan nonfaktorial yang tersisal. Contohnya.
(50! * 100! * 75!)/(73! * 99! * 52!) = ( 74 * 75 * 100 ) / ( 51 * 52 )
yang berikutnya, dengan menguraikan ke faktor-faktor bilangan prima dapat disederhanakan lebih lanjut menjadi (catatan: notasi ^ adalah tanda pangkat).
= (2 * 37 * 3 * 52 * 22 * 52) /(3 * 17 * 22 * 13)
= (2 * 54 * 37)/(13 * 17)
Dengan ekspresi tersebut, perhitungan kemudian menjadi lebih memungkinkan untuk dilakukan dibandingkan saat masih dalam bentuk faktorial.
Buatlah program yang dapat melakukan penyederhanaan ekspresi perkalian/pembagian bilangan-bilangan faktorial hingga faktor-faktor bilangan prima seperti di atas.
Masukan
Masukan terdiri atas dua baris. Baris pertama menyatakan harga-harga n dari bilangan-bilangan faktorial yang berada pada bagian pembilang (yang dibagi). Baris kedua menyatakan harga-harga n dari bilangan-bilangan faktorial yang berada pada bagian penyebut. Format masing-masing bilangan sama sbb. Bilangan pertama menyatakan jumlah bilangan faktorial pada baris ybs. Jumlah bilangan tersebut paling sedikit 1 dan paling banyak 20. Misalkan jumlah bilangan itu m, berikutnya ada m bilangan bulat positif a, b, c, …,dst. yang masing-masing dapat berharga 2 sampai dengan 1000. Masing-masing bilangan tersebut menyatakan bilanga-bilangan faktorial a, b, c, … dst.
Keluaran
Keluaranya terdiri dari dua baris, baris pertama untuk pembilang dan beris kedua untuk penyebut. Bilangan-bilangan adalah bilangan prima yang tersisa dan untuk pangkat yang lebih dari 1 dituliskan di dalam tanda kurung langsung setelah bilangan prima ybs (tanpa spasi). Bilangan-bilangan prima dituliskan dari yang terkecil ke yang terbesar. Sekali lagi, penulisan pangkat hanya untuk bilangan prima dengan pangkat lebih dari 1. Jika salah satu dari pembilang atau penyebut berharga 1 maka baris untuk ybs dikosongkan (sebagai konsekuensi tidak adanya faktor bilangan prima padanya.
Contoh 1
Masukan 3 50 100 75 3 73 99 52 Keluaran 2 5(4) 37 13 17Contoh 2
Masukan 1 100 1 99 Keluaran 2(2) 5(2)Contoh 3
Masukan 1 48 1 49 Keluaran 7(2)Penjelasan: pada contoh kedua, baris kedua kosong dan pada contoh ketiga, baris pertama yang kosong.
Hari 2 / Soal 1: Sandi Ayam
Kode Soal: ayamBatas Run-time: 0,5 detik / test-case Batas Memori: 16 MB
Masukan: Standard input Keluaran: Standard output
Pak Dengklek punya tetangga baru yang berprofesi sebagai peternak ayam. Tentunya, tetangga baru ini memiliki beberapa ayam. Bebek-bebek Pak Dengklek tidak suka dengan kehadiran ayam-ayam ini, antara lain karena mereka curiga ayam-ayam tersebut akan melakukan hal-hal yang tidak baik. Dalam beberapa hari semenjak kedatangannya saja, bebek-bebek sudah menemukan goresan-goresan aneh di tanah. Setelah diteliti, para bebek menyimpulkan bahwa ayam-ayam tersebut sedang menuliskan sandi angka. Penelitian lebih lanjut memberikan hasil mengenai arti dari setiap sandi, seperti yang dijelaskan di bawah ini.
Ayam-ayam menggunakan 20 macam simbol. Setiap simbol adalah hasil dari patokan paruh ayam (bulatan kecil) dan/atau goresan cakar ayam (garis). Bukti-bukti yang sejauh ini ada menunjukkan bahwa setiap simbol memiliki padanan seperti yang tertera pada gambar 1.
Gambar 1. Terjemahan Sandi Angka Ayam
Untuk membentuk angka yang benilai lebih dari 19, simbol-simbol di atas ditulis secara vertikal dan dibaca seperti layaknya bilangan dengan basis 20. Simbol dengan bobot lebih besar digores paling atas. Tentunya, dengan sistem ini para bebek berharap bahwa nilai satuan dari setiap simbol, mulai dari simbol yang mewakili satuan terkecil, adalah 1, 20, 400, 8000, dst. Akan tetapi, ayam-ayam tersebut lebih cerdas. Ternyata, harga satuan simbol ketiga dari bawah (bila ada) hanya 18 kali lebih
besar dari harga satuan simbol kedua dari bawah. Akan tetapi untuk simbol-simbol berikutnya, nilai satuannya tetap 20 kali lebih besar daripada satuan sebelumnya. Untuk lebih jelasnya, lihat contoh berikut ini.
Gambar 2. Contoh Sandi Ayam
Seperti yang tertera pada gambar di atas, sandi di atas terdiri dari 4 simbol. Simbol paling atas melambangkan angka 2, simbol di bawahnya melambangkan angka 0, berikutnya angka 17 dan yang paling bawah melambangkan angka 1. Bila kita mengikuti sistem bilangan yang digunakan oleh para bebek (yang untungnya adalah sama seperti kita, desimal), maka angka yang dimaksud oleh sandi di atas adalah 14741 (= 2x7200 + 0x360 + 17x20 + 1).
Para bebek memiliki kesulitan untuk menerjemahkan sandi-sandi yang panjang. Untuk itu, mereka meminta bantuan kalian untuk menerjemahkannya.
FORMAT MASUKAN
Masukan akan berisi sebuah angka yang tertulis dalam sandi ayam. Untuk mempermudah tugas kalian, patokan ayam akan dimasukkan sebagai titik (.), dan cakaran ayam akan dimasukkan sebagai tanda hubung (-). Simbol 0 (lingkaran besar) akan dimasukkan sebagai angka 0. Setiap dua simbol akan dipisahkan oleh sebuah baris kosong. Masukan akan diakhiri oleh penanda akhir berkas (end-of-file).
Masukan berisi setidaknya sebuah simbol, tapi tidak lebih dari 30 simbol. Untuk setidaknya setengah dari total bobot testcase yang diujikan, masukan terdiri tidak lebih dari 14 simbol.
CONTOH MASUKAN .. 0 .. - - - . FORMAT KELUARAN
Keluaran hanya terdiri dari sebuah baris berisi sebuah bilangan bulat yang merupakan hasil penerjemahan sandi ayam pada masukan.
CONTOH KELUARAN
14741
Peringatan
Keluaran untuk masukan dengan banyak simbol lebih dari 14 buah tidak dijamin dapat dimuat oleh sebuah variabel integer 64-bit bertanda (int64 di FreePascal).
Hari 2 / Soal 2: Maze
Kode Soal: mazeBatas Run-time: 1 detik / test-case Batas Memori: 1 MB
Masukan: Standard input Keluaran: Standard output
Deskripsi
Anda tahu permainan maze? Kalau melihat gambar berikut ini pasti tahu. Dalam permainan maze ini makhluk yang digambarkan dengan bulatan wajah Mr Groovy harus mencari jalan ke luar dari grid maze yang diberikan.
keluar
☺
Jalan keluar yang harus dilaluinya adalah kota-kotak yang berwarna kuning tsb. Masalahnya karena bisa terdapat beberapa cara untuk mencapai jalan keluar maka disini anda harus menemukan jumlah kotak yang paling sedikit dalam lintasan (menyatakan juga jumlah langkah terpendek untuk mencapai bagian luar). Dalam hal contoh maze di atas yang paling sedikit adalah 17 kotak/langkah yaitu yang berwana kuning tsb.
Masukan
Baris pertama berisikan b dan k yang menyatakan jumlah baris dan jumlah kolom matriks grid tersebut. Kedua bilangan dipisahkan satu spasi. Jumlah baris/kolom terkecil adalah 3 dan jumlah baris/kolom terbesar adalah 100. Pada b baris berikutnya maze didefinisikan sbb. Harga -1 menyatakan dinding yang tidak dapat ditembus, harga 0 menyatakan ruang yang dapat dilalui. Dipastikan sekurangnya ada satu jalan keluar. Setiap baris grid pada baris masukan tersendiri. Pada baris yang sama harga-harga tersebut dituliskan terpisah satu spasi dengan harga-harga berikutnya. Pada baris terakhir terdapat dua bilangan a dan b yang menyakan posisi awal Mr Groovy berada, a nomor baris dan b nomor kolom dengan penomoran baris: 1, 2, 3, …, dimulai dari atas ke bawah dan penomoran kolom: 1, 2, 3, …, dimulai dari kiri ke kanan.
Dipastikan posisi awal ini selalu berada pada ruangan (bukan tembok!) dan di dalam matriks.
Keluaran
Program hanya mengeuarkan jumlah langkah paling sedikit untuk mencapai luar (sama juga dengan jumlah kotak paling sedikit yang dilalui).
Contoh
Masukan 8 10 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 -1 0 0 0 -1 0 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 -1 -1 -1 0 0 -1 -1 0 0 0 -1 0 -1 -1 -1 -1 -1 0 -1 0 -1 0 -1 0 0 -1 -1 0 -1 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 7 5 Keluaran 17Hari 2 / Soal 3: Segitiga Bebek
Kode Soal: bebek3Batas Run-time: 0,5 detik / test-case Batas Memori: 16 MB
Masukan: Standard input Keluaran: Standard output
Suatu hari Pak Dengklek mendapat penghasilan lebih dari hasil berjualan telur bebek asin. Oleh karena itu ia ingin membagi keuntungannya dengan bebek-bebeknya, dengan cara memberi makan lebih untuk mereka. Sayangnya uangnya hanya cukup untuk memberi makan lebih kepada tiga ekor bebek. Untuk itu ia membuat suatu cara untuk memilih tiga ekor bebek mana yang akan diberinya makan lebih hari itu. Saat itu, bebek-bebeknya sedang berkeliaran di ladangnya yang luas. Pak Dengklek memutuskan untuk memberi makan lebih kepada tiga ekor bebek yang di posisinya sekarang membentuk segitiga dengan luas minimum. Yang dimaksud segitiga dengan luas minimum di sini adalah, semua segitiga lain yang dibentuk oleh bebek-bebek memiliki luas yang lebih besar dari luas segitiga tersebut.
Karena banyaknya jumlah bebek-bebek, Pak Dengklek meminta bantuanmu untuk masalah ini. Bantulah Pak Dengklek dengan mencari luas segitiga minimum tersebut akurat hingga dua tempat desimal.
FORMAT MASUKAN
Baris pertama dari masukan berisi sebuah bilangan N, yang menyatakan jumlah bebek-bebek yang tersebar di ladang Pak Dengklek saat ini. 1 ≤ N ≤ 300. Baris kedua hingga baris ke N+1 masing masing akan berisi dua buah bilangan bulat xi dan yi, yang merupakan koordinat bebek ke-i di sistem koordinat kartesian. -10000 ≤ xi,yi ≤ 10000. Tidak akan ada dua bebek yang berbeda yang berada di posisi (x, y) yang sama. CONTOH MASUKAN 4 0 0 -5 10 3 0 0 9
FORMAT KELUARAN
Keluaran hanya terdiri dari sebuah baris berisi bilangan yang merupakan luas segitiga minimum menurut syarat yang sudah dijelaskan dengan dua tempat desimal. Jika tidak ada segitiga yang memenuhi syarat tersebut, keluarkan angka -1.00 .
CONTOH KELUARAN
Olimpiade Sains Nasional V Bidang Informatika
Page 1 of 8
Faktorial
Kode Soal: OSN601Batas Run-time: 1 detik / test-case Batas Memori: 32 MB
Masukan: Standard input Keluaran: Standard output
Diberikan sebuah bilangan N, N! disebut N faktorial dan nilainya dihitung dengan rumus : N x (N - 1) x (N - 2) ... x 1.
Tugas Anda adalah menghitung berapa jumlah angka nol berturutan yang mengakhiri N!. Sebagai contoh:
a. N=10: 10! = 3 628 800, maka jumlah angka nol adalah 2.
b. N=8: 8! = 40 320, jumlah angka nol adalah 1 (nol di tengah tidak dihitung).
FORMAT MASUKAN
Masukan hanya terdiri dari satu baris berisi bilangan bulat N (1 ≤ N ≤ 10 000).
FORMAT KELUARAN
Tuliskan satu bilangan bulat yang menyatakan jumlah angka nol yang mengakhiri N!.
CONTOH MASUKAN 1 10 CONTOH KELUARAN 1 2 CONTOH MASUKAN 2 8 CONTOH KELUARAN 2 1 CATATAN
Hati-hati dengan integer overflow: tipe data longint atau long hanya dapat menampung bilangan hingga sekitar 2 milyar.
PETUNJUK
Jika Anda dapat memanfaatkan sifat rumus faktorial, maka Anda akan mendapatkan hasil yang lebih efisien
Olimpiade Sains Nasional V Bidang Informatika
Page 2 of 8
Tebak Lagu
Kode Soal: OSN602Batas Run-time: 1 detik / test-case Batas Memori: 32 MB
Masukan: Standard input Keluaran: Standard output
Pak Dengklek dan bebek-bebeknya punya permainan baru, yaitu tebak lagu. Sesuai namanya, dalam permainan ini salah satu bebek akan menyanyikan fragmen/potongan sebuah lagu untuk kemudian ditebak oleh Pak Dengklek. Karena tahu bahwa Pak Dengklek bukanlah seorang penghafal yang handal, para bebek menyiapkan sebuah buku yang berisikan daftar lagu yang akan mereka nyanyikan, lengkap dengan nadanya.
Seperti halnya manusia, para bebek tidak menyanyi dengan ketinggian nada yang sama satu sama lain. Oleh sebab itu, mereka sepakat untuk menuliskan nada-nada lagu di buku lagu mereka dalam nada dasar C tengah (C4 pada piano manusia, yang mereka beri simbol c.), yaitu nada dengan frekuensi 261.6 Hz. Untuk nada-nada yang lain, perhatikan daftar lengkap nada, simbol, dan frekuensi yang digunakan oleh para bebek (terurut menaik berdasar ketinggian nada), yang diberikan pada tabel di bawah ini:
Nada Simbol Frekuensi Nada Simbol Frekuensi
C4 c. 261.6 C5 C. 523.3 C#4 c# 277.2 C#5 C# 554.4 D4 d. 293.7 D5 D. 587.3 D#4 d# 311.1 D#5 D# 622.3 E4 e. 329.6 E5 E. 659.3 F4 f. 349.2 F5 F. 698.5 F#4 f# 370.0 F#5 F# 740.0 G4 g. 392.0 G5 G. 784.0 G#4 g# 415.3 G#5 G# 830.6 A4 a. 440.0 A5 A. 880.0 A#4 a# 466.2 A#5 A# 932.3 B4 b. 493.9 B5 B. 987.8
Sebagai contoh, misalkan ada dua bebek (bebek Kwek dan bebek Kwak) yang akan menyanyikan sebuah lagu yang sama. Bebek Kwek menyanyikan lagu tersebut dalam nada dasar D4 (d.) dan bebek Kwak menyanyikannya dalam nada dasar E4 (e.). Rangkaian nada yang mereka nyanyikan adalah:
Bebek Kwek: d.e.f#e.d. Bebek Kwak: e.f#g#f#e.
Sedangkan dalam buku lagu mereka, lagu tersebut akan dituliskan sebagai c.d.e.d.c..
Karena perbedaan nada dasar itulah, meski dapat mengenali nada dengan sangat akurat, Pak Dengklek merasa kesulitan dalam menebak lagu apa yang para bebeknya nyanyikan. Karena itulah,
Olimpiade Sains Nasional V Bidang Informatika
Page 3 of 8
Pak Dengklek meminta bantuan Anda untuk membuatkan sebuah program yang dapat mengetahui lagu mana yang dinyanyikan para bebek.
Informasi yang akan Pak Dengklek berikan pada Anda adalah:
1. Potongan lagu yang didengar oleh Pak Dengklek (dengan nada dasar sesuai yang dinyanyikan bebek yang bersangkutan).
2. Banyaknya lagu yang ada pada buku lagu bebek.
3. Rangkaian nada dari lagu-lagu dalam buku lagu tersebut.
FORMAT MASUKAN
Baris pertama berisikan serangkaian karakter yang merepresentasikan rangkaian nada yang ingin dicari (sesuai simbol pada tabel pada deskripsi soal). Baris kedua berupa sebuah integer n (1 <= n <= 100) yang menunjukkan banyaknya data lagu yang ada. n-baris berikutnya berisikan data lagu yang tersedia, masing-masing dalam satu baris. Tiap baris masukan rangkaian nada terdiri atas tidak lebih dari 250 karakter.
FORMAT KELUARAN
Nomor lagu yang di dalamnya terdapat rangkaian nada yang bersesuaian dengan nada yang dicari, atau # jika rangkaian nada yang dicari tidak ditemukan. Penomoran lagu dimulai dari 1 (i.e. baris setelah integer n pada masukan merupakan data lagu ke-1). Jika ada lebih dari satu lagu yang bersesuaian dengan potongan lagu yang diberikan, tuliskan lagu dengan nomor terkecil saja.
CONTOH MASUKAN 1 g.g.g.f.e.d.c. 6 d.c.e.d.c.f.e.d.g.g.g.f.e.d.e. c.d.e.c#d.e.f#a.d.c. c.d#e. c.d.e.f.g.g.g.d.e.f.c.d.e. c.c#d.d#e.f.f#g.g#a.a#b.C. G.F.D#G#G.F.A#A#A#G#G.F.D# CONTOH KELUARAN 1 6 CONTOH MASUKAN 2 c.d.e. 1 C.D.C. CONTOH KELUARAN 2 #
Olimpiade Sains Nasional V Bidang Informatika
Page 4 of 8
Ulang Tahun
Kode Soal: OSN603Batas Run-time: 1 detik / test-case Batas Memori: 32 MB
Masukan: Standard input Keluaran: Standard output
Beberapa hari lagi, Pak Dengklek akan merayakan ulang tahunnya yang ke-61. Beliau bermaksud akan mengundang teman-temannya untuk menghadiri pesta ulang tahunnya tersebut. Sayangnya, beliau baru saja kehilangan satu-satunya buku telepon yang dipunyainya. Karena itu, ia harus mengunjungi wartel terdekat dan membuka buku kuning (yellow pages) untuk mengetahui nomor telepon teman-temannya. Tidak lupa ia mengajak Anda untuk membantunya mencarikan nomor telepon teman-temannya tersebut.
Diberikan buku kuning yang berisi pasangan nama dan nomor telepon seluruh penduduk desa tempat Pak Dengklek tinggal, serta nama-nama teman Pak Dengklek yang tinggal di desa tsb., tolonglah Pak Dengklek untuk mencari nomor telepon teman-teman Pak Dengklek tersebut.
FORMAT MASUKAN
Baris pertama berisi dua buah bilangan bulat:
N (1 ≤ N ≤ 10.000), menunjukkan jumlah penduduk desa yang terdaftar di buku kuning. Q (1 ≤ Q ≤ 10.000), menunjukkan jumlah teman Pak Dengklek.
N baris selanjutnya berisi nama dan nomor telepon setiap orang di desa tersebut, dipisahkan dengan spasi.
Q baris selanjutnya berisi nama-nama teman Pak Dengklek. Nama setiap orang hanya akan tersusun dari huruf kapital, dengan panjang maksimal 15 huruf.
Daftar nama pada buku kuning akan terurut sesuai abjad, tetapi daftar teman Pak Dengklek yang akan dicari nomor telponnya belum tentu terurut dan satu teman Pak Dengklek bisa saja ditanyakan lebih dari sekali. Setiap nomor telepon terdiri atas tepat 7 angka, satu nomor telepon dapat dimiliki oleh lebih dari satu orang. Semua teman pak Dengklek yang akan dicari nomor telponnya pasti tercantum dalam buku kuning.
FORMAT KELUARAN
Keluarkan Q baris, di mana setiap barisnya berisi nomor telepon dari teman yang ditanyakan oleh Pak Dengklek. CONTOH MASUKAN 10 5 ACONG 8468431 BALAJI 1573547 GREGOR 1765743 JAPRA 3746843 JOKO 1357891 MALARANGENG 1375638 MANMOHAN 1357562 SITORUS 1378651 TERRY 8756345
Olimpiade Sains Nasional V Bidang Informatika Page 5 of 8 YUDHOYONO 1781945 GREGOR YUDHOYONO ACONG MANMOHAN JAPRA CONTOH KELUARAN 1765743 1781945 8468431 1357562 3746843
Olimpiade Sains Nasional V Bidang Informatika
Page 6 of 8
Runtuh
Kode Soal: OSN604Batas Run-time: 1 detik / test-case Batas Memori: 32 MB
Masukan: Standard input Keluaran: Standard output
Game (permainan) ini adalah sebuah game yang bertujuan untuk membuat penuh satu baris (horizontal) dari sebuah board (papan) menggunakan beberapa bangun yang disediakan. Jika sebuah baris penuh terisi maka baris tersebut akan dihilangkan dan sisa bangun di atasnya akan "diruntuhkan" satu demi satu turun melewati ruang yang telah kosong sampai menumpuk di atas bangun yang ada di bawahnya. Penumpukan yang terjadi dapat menghasilkan situasi seperti pada saat awal di atas yaitu terdapat baris-baris yang penuh terisi, yang selanjutnya akan dihilangkan lagi (setelah semua runtuh). Demikian berlangsung bisa berulang-ulang sampai tidak ada lagi baris
yang penuh terisi.
Anda akan diberikan sebuah kondisi board dari suatu game ini untuk ditentukan kondisi akhirnya. Misalnya untuk board seperti di bawah ini:
Olimpiade Sains Nasional V Bidang Informatika
Page 7 of 8
Kondisi board setelah baris yang terisi penuh dihilangkan, akan menyisakan ruang kosong seperti di bawah ini:
Bangun-bangun yang terletak di atas baris terbawah yang dihilangkan akan diruntuhkan ke bawah sehingga kondisi board setelah terjadi penurunan adalah seperti di bawah ini:
Dalam contoh di atas kebetulan keruntuhan hanya sekali saja dalam sejumlah testcase bisa terjadi berulang-ulang.
FORMAT MASUKAN
Baris 1: Jumlah baris (1..20) dan kolom (1..8) board. Dipisahkan oleh spasi. Baris 2..jumlah baris+1: Berisi konfigurasi awal board dalam bentuk angka 0 atau 1 sebanyak jumlah kolom. 1 berarti ada bangun pada posisi tersebut, 0 berarti ruang kosong pada posisi tersebut.
FORMAT KELUARAN
Olimpiade Sains Nasional V Bidang Informatika Page 8 of 8 CONTOH MASUKAN 11 6 000000 000000 011100 110011 111111 111000 111111 111111 111001 001100 111011 CONTOH KELUARAN 000000 000000 000000 000000 000000 010000 111000 111001 111101 001110 111011
SOAL ARITMETIKA / ANALITIKA / LOGIKA
1. Bilangan selanjutnya dari barisan 4, 5, 8, 13, 20, 29, ... adalah:
a. 38
b. 39
c. 40
d. 42
e. 49
2. Berapakah nilai dari
?
a. 1
b. 2/3
c. 30/11
d. 2
e. tidak ada pilihan jawaban lain yang benar
3. Berapakah nilai dari ekspresi 2 – 4 + 6 – 8 + 10 – 12 + 14 – ... – 100 ?
a. –50
b. 0
c. 50
d. 100
e. tidak ada pilihan jawaban lain yang benar
4. Berapakah nilai dari: 1 + 2 – 3 – 4 + 5 + 6 – 7 – 8 + 9 + ... – 99 – 100 ?
a. –100
b. 0
c. 1
d. 100
e. tidak ada pilihan jawaban lain yang benar
5. Floor(x) adalah bilangan bulat terbesar yang tidak lebih besar dari x. Sebagai contoh, floor(10/3) = 3. Berapakah hasil perhitungan
floor(floor(1000/7)/floor(71/2))?
a. 4
b. 5
c. 7
d. 10
e. 500
6. Jika a ⌂ b = ab + a – b, berapakah (7 ⌂ p) – (p ⌂ 7)?
a. 14p
b. 14 – 2p c. p + 7
d. 0
e. tidak ada pilihan jawaban lain yang benar
7. Ada berapa carakah kita dapat menuliskan angka 10 sebagai hasil penjumlahan atas tepat tiga bilangan bulat positif yang tidak harus berbeda
satu sama lain jika urutan penulisannya tidak diperhitungkan? (Sebagai contoh, salah satu cara memperolehnya adalah 10 = 1+4+5, yang sama
dengan 10 = 4+1+5)
Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika
a. 5
b. 6
c. 7
d. 8
e. 10
8. Sebuah lantai persegi panjang dilapisi sepenuhnya dengan ubin yang berukuran 1 × 2. Jika ubin-ubin ini tidak dipotong dan tidak saling
bertindihan, lantai tersebut tidak mungkin berukuran:
a. 4 × 9
b. 8 × 8
c. 11 × 7 d. 16 × 5 e. tidak ada pilihan jawaban lain yang benar
9. Sebuah kubus 4 × 4 × 4, yang dibangun dengan cara melekatkan kubus-kubus berukuran 1 × 1 × 1, dicat pada sisi-sisi luarnya dan kemudian
diurai kembali. Berapa jumlah kubus-kubus kecil hasil penguraian ini yang memiliki tepat 2 sisi bercat?
a. 8
b. 16
c. 20
d. 24
e. 32
10. Sebuah kotak berisikan 80 balok, sebagian terbuat dari kayu dan sebagian lagi terbuat dari plastik. Tiap balok diwarnai dengan warna merah
atau hijau. Jika 48 buah balok terbuat dari kayu dan 32 balok berwarna merah, berapakah jumlah terbesar balok plastik hijau yang mungkin?
a. 16
b. 24
c. 32
d. 48
e. tidak ada pilihan jawaban lain yang benar
11. Sebuah jalur yang berlebar 1m dikelilingi sebagian oleh pagar yang ditunjukkan pada diagram berikut. Berapakah panjang dari pagar tersebut?
Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika
a. 21m
b. 22m
c. 23m
d. 24m
e. 25m
12. Seorang siswa yang sedang menggunakan sebuah kalkulator untuk menghitung sebuah penjumlahan secara tidak sengaja menambahkan 79012
sementara sebenarnya ia ingin menambahkan 7912. Untuk membetulkan perhitungannya dalam satu operasi, siswa tersebut harus melakukan
pengurangan dengan:
a. 7012
b. 71100 c. 71112 d. 86924 e. tidak ada pilihan jawaban lain yang benar
13. Suatu hari, Kwek bertanya kepada Pak Dengklek, “Pak, berapa umur Anda?”. Pak Dengklek menjawab, “Tahun ini, saya tiga kali lebih tua dari
saudara saya. Enam tahun lalu, saya lima kali lebih tua darinya.” Berapakah umur Pak Dengklek saat itu?
a. 36
b. 40
c. 49
d. 55
e. tidak ada pilihan jawaban lain yang benar
14. Empat orang anak menemukan sekantong kelereng dan membaginya di antara mereka. Tiap anak mengambil sejumlah berbeda kelereng dan
tidak satupun anak mendapat kelereng sebanyak lebih dari 2 kali lipat kelereng yang dimiliki oleh anak lainnya. Banyak terkecil kelereng yang
mungkin terdapat pada kantong tersebut adalah:
a. 10
b. 15
c. 18
d. 21
e. tidak ada pilihan jawaban lain yang benar
15. Tepat 100 orang tinggal di sebuah desa. Orang tertua di desa tersebut dilahirkan pada tahun 1900 dan setiap orang pada desa tersebut dilahirkan
pada tahun yang berbeda tetapi kesemuanya lahir pada 1 Januari. Pada tahun 1999, hasil penjumlahan digit-digit dari angka tahun lahir seorang
penduduk desa tersebut sama dengan umurnya saat itu. Berapakah umur orang tersebut?
a. 4
b. 12
c. 16
d. 23
e. tidak ada pilihan jawaban lain yang benar
Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika
16. Kwak berlari dengan kecepatan tetap dari titik A ke titik C. Pada saat yang bersamaan, Kwik berlari dari titik B ke titik C dengan kecepatan
tetap pula. Mereka tiba di C pada saat yang bersamaan. Jika mereka terus berlari dengan arah yang sama seperti semula, Kwak tiba di B tepat
10 detik sebelum Kwik tiba di A. Seberapa cepatkah (dalam m/s) Kwik berlari? (titik C berada di antara A dan B, jarak AC adalah 60m, jarak
CB 40m)
a. 3
b. 10/3
c.
13/3
d. 5
e. informasi tidak
cukup
17. Sebuah kotak berisikan beberapa buah
apel. Kwak mengambil 1/2 di antaranya
ditambah 1 buah apel lagi dari apel-apel
yang tersisa. Kemudian, Kwik mengambil 1/3
dari apel yang tersisa tetapi kemudian memasukkan kembali 2 buah apel ke dalam kotak. Kwek lantas mengambil 5/6 dari apel yang tersisa
ditambah 1 buah apel lainnya. Setelah pengambilan-pengambilan tersebut, apel yang tersisa di dalam kotak tersebut tinggal 7 buah. Berapa
banyakkah jumlah apel mula-mula?
a. 16
b. 44
c. 110
d. 140
e. tidak ada pilihan jawaban lain yang benar
18. Dalam sebuah ujian yang terdiri atas 2 soal, 18 peserta menjawab pertanyaan pertama dengan benar, 23 peserta menjawab pertanyaan kedua
dengan benar, 8 peserta menjawab kedua pertanyaan dengan benar dan 11 peserta tidak berhasil menjawab dengan benar kedua pertanyaan.
Berapakah jumlah peserta ujian tersebut?
a. 41
b. 44
c. 49
d. 52
e. 60
19. Berapakah banyaknya persegi panjang pada sebuah papan catur berukuran 5 × 5? (Jangan lupa menghitung pula bujur sangkar (persegi) yang
Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika
ditemukan karena bujur sangkar merupakan salah satu jenis khusus dari persegi panjang)
a. 25
b. 225
c. 55
d. 200
e. 170
20. Pak Dengklek memiliki 101 buah telur yang harus dibagi-bagi ke dalam beberapa buah kantung untuk dijual. Pak Dengklek kemudian melabeli
kantung-kantung tersebut dengan banyaknya telur yang ada dalam kantung tersebut serta menyegelnya. Pak Dengklek ingin agar dia dapat
melayani seorang pembeli yang ingin membeli telur sebanyak sembarang butir antara 1 dan 101 (termasuk 1 dan 101) tanpa harus membuka
satu pun segel dan mengemas ulang telur-telur tersebut. Agar dapat memenuhi kondisi tersebut, berapakah jumlah kantung minimal yang
dibutuhkan Pak Dengklek pada saat pembungkusan awal? (Perlu diketahui bahwa Pak Dengklek bebas menentukan banyaknya kantung serta
banyaknya telur yang dimasukkan pada masing-masing kantung, jumlah telur pada setiap kantong tidak harus sama meski boleh sama, dan telur
harus dimasukkan ke dalam kantung dalam kondisi utuh – tidak mungkin memasukkan ½ telur atau telur dalam jumlah pecahan lainnya)
a. 7
b. 21
c. 5
d. 101
e. 8
21. Berat badan Kwek 140 gram lebih berat dari Kwik. Total berat mereka 200 gram. Berapakah berat badan Kwik (dalam gram)?
a. 30
b. 60
c. 80
d. 140
e. 170
22. Dalam sebuah turnamen sepakbola, setiap kesebelasan diharuskan bertanding tepat satu kali melawan tiap kesebelasan lainnya. Jika dalam
turnamen tersebut dimainkan 66 pertandingan, berapakah banyaknya kesebelasan yang mengikuti turnamen tersebut?
a. 33
b. 12
c. 20
d. 11
e. 6
23. Sebuah lomba tenis perorangan dilangsungkan dengan sistem gugur. (Untuk setiap tahap, tiap peserta ditandingkan dengan salah satu peserta
lain. Peserta yang menang akan maju ke tahap berikutnya dan ditandingkan dengan salah satu pemenang lainnya. Demikian seterusnya hingga
tersisa 1 orang pemenang pada tahap terakhir.) Jika banyak peserta adalah 32 orang, berapakah banyaknya pertandingan yang terjadi pada
lomba tenis tersebut?
a. 32
b. 16
c. 15
d. 31
e. 17
24. Seorang saudagar kaya memiliki banyak koin emas. Karena tak ingin kekayaannya diketahui orang, dia menyimpannya di sebuah gua
Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika
tersembunyi di dalam hutan dan tidak pernah memberitahukan jumlah kekayaannya kepada siapapun. Suatu hari, karena penasaran, istri
saudagar tersebut bertanya kepada saudagar tersebut mengenai jumlah kekayaannya. Mendengar pertanyaan itu, sang saudagar hanya
menjawab, “Jika aku membaginya menjadi 2 bagian tidak sama banyak, selisih banyak koin antardua bagian tersebut dikalikan 42 sama
banyaknya dengan selisih dari (kuadrat banyak koin bagian pertama) dan (kuadrat banyak koin pada bagian kedua).” Berapa banyakkah koin
emas yang dimiliki saudagar tersebut?
a. 9
b. 7
c. 33
d. 6
e. 42
25. Seorang pengemudi mengendarai mobil dari kota A ke kota B, kemudian kembali ke kota A melalui jalur jalan yang persis sama. Perjalanan
dari kota A ke kota B bersifat menanjak dan ditempuh dengan kecepatan 42 km/jam. Sebaliknya, perjalanan dari kota B ke kota A menurun,
sehingga kecepatan yang dicapainya adalah 56 km/jam. Berapakah kecepatan rata-rata pengemudi tersebut untuk keseluruhan perjalanan?
a. 49
b. 48
c. 50
d. 47
e. tidak ada pilihan jawaban lain yang benar
26. “Jarak” antara dua tombol pada tuts telepon adalah jumlah perbedaan posisi kolom dan baris keduanya. Sebagai contoh, “jarak” antara tombol 0
dan 1 adalah 4, karena ada perbedaan 1 kolom dan 3 baris
antara tombol 0 dan 1. Berapakah “jarak” yang tercipta jika
tombol 8654937 ditekan sebanyak 2007 kali berturut-
turut?
a. 26091 b. 27094 c. 28097 d.
29100 e. tidak ada pilihan jawaban lain yang benar
27. Dino berada di sekolah dari jam 06.36 pagi hingga
14.24. Selama berada di sekolah, sepertiga waktunya digunakan
untuk beristirahat. Seperempat dari waktu yang tersisa
digunakan untuk berolahraga. Jika sisa waktunya digunakan
untuk belajar, maka pernyataan manakah yang benar?
a. Dino belajar 156 menit lebih lama dari berolahraga
b. Dino belajar 160 menit lebih lama dari berolahraga
c. Dino belajar 234
menit lebih lama dari berolahraga d. Dino belajar 240 menit lebih lama dari berolahraga
e. tidak ada pilihan jawaban lain yang benar
28. Sebuah fungsi didefinisikan sebagai f(n) = f(n-1).f(n-2) dan selalu bernilai non-negatif. Diketahui f(36) = 7 dan f(39) = 1008. Berapakah nilai
Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika
dari f(38) – f(37)?
a. 72
b. 84
c. 144
d. tidak dapat ditentukan
e. tidak ada pilihan jawaban lain yang benar
29. Pada suatu waktu ada 5 orang sahabat: Andi, Budi, Ratna, Hendri, dan Tuti. Hendri memiliki uang Rp. 10000, sementara yang lainnya tidak
memiliki uang. Suatu hari, Budi meminjam uang Rp. 9000 dari Hendri dengan bunga 5%. Lalu, Ratna meminjam uang Rp. 8000 dari Budi
dengan bunga 10%. Kemudian, Andi meminjam uang Rp. 4500 dari Ratna dengan bunga 20%. Lalu, Tuti meminjam uang Rp. 4000 dari Andi
dengan bunga 25%. Terakhir, Hendri memberikan uang Rp. 1000 kepada Tuti sebagai hadiah ulang tahun. Setelah semua hutang-hutang dan
bunganya dibayarkan (dengan asumsi tidak ada tambahan pemasukan lain), siapakah yang memiliki uang paling banyak?
a. Andi
b. Budi
c. Ratna
d. Hendri e. Tuti
30. Dari angka 1 hingga 1000 (termasuk 1 dan 1000), ada berapa banyakkah kelipatan 3 yang bukan kelipatan 5?
a. 123
b. 200
c. 267
d. 334
e. tidak ada pilihan jawaban lain yang benar
31. Berapakah nilai rata-rata dari 100000 bilangan bulat positif ganjil pertama?
a. 100000 b. 1000000 c. 10000000
d. 100000000
e. 1000000000
32. Jika digabungkan, seluruh sekolah SMA di kota X memiliki 1.989 unit komputer untuk keperluan berlajar siswa-siswanya, yang mana dari
jumlah tersebut maka rasio jumlah siswa dibandingkan jumlah komputer adalah 68,6. Berapakah kira-kira terdekat jumlah siswa SMA di kota
tersebut? (dalam ribuan)
a. 30
b. 120
c. 140
d. 160
e. 200
33. Jika p adalah sebuah bilangan bulat positif, manakah dari persamaan berikut ini yang mungkin menghasilkan bilangan prima?
a. 8p
b. 8p + 1 c. 8p + 2 d. 8p + 4 e. 8p + 6
34. Sebuah mobil ambulans menempuh jarak 10 km pada kecepatan 50 km/jam, Berapakah kecepatan (dalam km/jam) yang harus dicapai oleh
ambulans tersebut agar total waktu tempuh perjalanan pulang perginya tepat 20 menit?
a. 55
b. 60
c. 65
d. 70
e. 75
Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika
35. Dua hari terakhir ini, Pak Dengklek membelikan sarapan untuk beberapa orang temannya. Untuk masing-masing temannya, kemarin Pak
Dengklek membelikan sepotong roti dan segelas teh manis di sebuah warung. Karena sarapan kemarin dirasa kurang, hari ini, ia membelikan 3
potong roti dan segelas teh manis di warung yang sama. Jika Pak Dengklek menghabiskan total uang sebesar Rp 5.400 kemarin dan Rp 12.600
hari ini, berapakah uang yang dikeluarkan Parto untuk membayar roti-roti yang dibelinya hari ini? (dengan asumsi harga sepotong roti dan
harga segelas teh manis tidak berubah dalam dua hari ini)
a. Rp 10.800
b. Rp 9.600
c. Rp 7.200
d. Rp 3.600
e. Rp 2.400
SOAL BACAAN 1
Seorang petugas museum merencanakan sebuah pameran patung di sebuah taman. Terdapat tujuh patung yang akan dipamerkan: F, G, H, J, R, S dan U.
Tiga patung akan di pamerkan di taman sebelah selatan dan empat patung akan di pamerkan di taman sebelah utara. Empat dari patung-patung tersebut
– F, G, H, J – terbuat dari baja sedangkan tiga patung lainnya – R, S, U – terbuat dari perunggu. Petugas museum tersebut akan menyusun
patung-patung tersebut dengan beberapa aturan berikut ini:
−
Masing-masing taman harus terdapat paling banyak 2 patung perunggu
−
G tidak dapat berada di sisi taman yang sama dengan U
−
H tidak dapat berada di sisi taman yang sama dengan R
36. Manakah dari kelompok berikut ini yang dapat diletakkan di taman sebelah utara?
a. F, G, H dan U
b. F, H, S dan U
c. G, H, R dan U
d. G, J, R dan U
e. J, R, S dan U
37. Jika U dan R ditempatkan di taman sebelah utara, manakah kelompok patung berikut ini yang seharusnya berada di taman sebelah selatan?
a. F, G dan H
b. F, J dan S
c. G, H dan S
d. G, H dan U
e. H, S dan U
38. Jika S dan U ditempatkan di taman sebelah selatan, masing-masing patung berikut ini harus diletakkan di taman sebelah utara, KECUALI :
a. F
b. G
c. H
d. J
e. R
Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika
39. Jika S dan R diletakkan di taman sebelah selatan, manakah dari patung-patung berikut ini yang juga ditempatkan di taman yang sama?
a. F
b. G
c. H
d. J
e. U
40. Jika G dan H diletakkan di taman sebelah selatan, manakah diantara patung-patung berikut ini yang harus juga berada di taman yang sama?
a. F
b. J
c. R
d. S
e. U
41. Jika F dan G diletakkan di taman sebelah utara, manakah diantara kelompok patung-patung ini yang dapat diletakkan di taman sebelah selatan ?
a. H, J dan S
b. H, J dan U
c. H, R, dan U
d. J, S dan U
e. R, S dan U
SOAL BACAAN 2
Terdapat 6 buah tiang kayu – P, Q, R, S, T dan U - yang masing-masing diletakkan ke dalam lubang-lubang yang berbeda. Terdapat 7 lubang yang telah
disiapkan dan masing-masing diberi nomer berurutan dari kiri ke kanan, lubang-lubang tersebut dibuat sejajar lurus dan diberi jarak yang sama di
masing-masing lubang. Penempatan tiang-tiang tersebut harus mengikuti beberapa kondisi berikut ini:
−
Jarak yang memisahkan antara tiang P dan Q harus sama dengan jarak yang memisahkan R dan S
−
T harus berada di lubang yang berdampingan setelah lubang dimana U ditempatkan
−
Lubang yang paling kiri harus terisi (tidak dapat dibiarkan kosong)
42. Jika U ada di lubang nomer 2, manakah pernyataan yang benar?
a. P berada di lubang nomer 3
b. Q berada di lubang nomer 4
c. R berada di lubang nomer 5
d. S berada di lubang nomer
7
e. T berada di lubang nomer 1
43. Jika U, P dan R berada di lubang nomer 5, 6, dan 7 berturut-turut, manakah pernyataan yang benar?
a. S berada di lubang nomer 1
b. S berada di lubang nomer 2
c. Q berada di lubang nomer 2
d. Q berada di lubang nomer
2
e. Lubang nomer 2 adalah lubang kosong
Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika
44. Jika P dan R berada di lubang 1 dan 3 berurutan, lubang yang mungkin akan menjadi kosong adalah salah satu dari:
a. 2 atau 4 b. 2 atau 6 c. 4 atau 5 d. 5 atau 7 e. 6 atau 7
45. Jika P dan Q berada di lubang 2 dan 4 berurutan, manakah pernyataan yang benar?
a. R berada di lubang nomer 3
b. R berada di lubang nomer 5
c. S berada di lubang nomer 6
d. U berada di lubang nomer
1
e. Lubang nomer 6 adalah lubang kosong
SOAL ALGORITMIK 1
Ada sebuah alat gambar sederhana yang hanya bisa menggambar garis lurus pada sebuah bidang Cartesius. Alat ini diberi input berupa 2 bilangan: x y.
-
x artinya alat berputar x*90
0ke kanan
-
y artinya alat bergerak maju y kotak
-
pada awalnya alat ini menghadap sumbu y-positif
Contoh pemakaian alat:
1. Jika dimasukkan: 0 10
maka alat akan berputar 0*900 ke kanan dan bergerak maju 10 kotak sehingga muncul garis vertikal sepanjang 10 satuan. Jika ditambah lagi:
1 10 {berputar 1*900 ke kanan dan maju 10 kotak} 1 10
1 10
maka akan tergambar sebuah persegi dengan panjang sisi 10
Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika
2. Jika dimasukkan:
0 5 {berputar 0*900 ke kanan dan maju 5 kotak} 1 2 {berputar 1*900 ke kanan dan maju 2 kotak} 1 4 {berputar 1*900 ke kanan dan maju 4 kotak} 3 2 {berputar 3*900 ke kanan dan maju 2 kotak} 1 1 {berputar 1*900 ke kanan dan maju 1 kotak} 1 4 {berputar 1*900 ke kanan dan maju 4 kotak} maka akan tergambar bentuk:
dengan penjelasan:
Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika
46. Apa gambar yang dihasilkan oleh mesin gambar ini jika diberi masukan:
4 2 8 3 10 5
7 4
a.
b.
c.
d.
e. tidak ada pilihan jawaban lain yang benar
47. Manakah masukan yang menghasilkan gambar
?
a.
1 3
b.
8 3
c.
3 3
d.
0 7
e. tidak ada pilihan jawaban lain yang benar
5 3
1 3
7 4
1 3
10 6
1 6
3 5
5 3
7 3
9 3
3 6
1 4
3 6
1 3
7 5
3 4
3 3
5 4
3 2
7 3
Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika
SOAL ALGORITMIK 2
Ada sebuah alat yang dapat mengendalikan 4 buah wadah air:
-
Wadah 1 berukuran 4 liter
-
Wadah 2 berukuran 7 liter
-
Wadah 3 berukuran 13 liter
-
Wadah 4 berukuran 19 liter
{pada awalnya, semua wadah air kosong}
Alat ini dapat diberi input:
isi x
{perintah ini untuk mengisi wadah x sampai penuh}
tuang x y
{perintah ini untuk menuangkan isi wadah x ke wadah y, jika wadah y sudah penuh maka penuangan dihentikan}
tumpah x y
{perintah ini untuk menuangkan isi wadah x ke wadah y, walaupun wadah y sudah penuh penuangan tetap diteruskan sampai isi wadah x habis
(sisanya tumpah)}
buang x
{perintah ini untuk mengosongkan isi wadah x}
Contoh pemakaian:
isi 4
{maka wadah 4 berisi penuh 19 L}
tuang 4 3 {maka wadah 3 berisi penuh 13 L dan wadah 4 sisa 6 L}
tumpah 3 1
{maka wadah 1 berisi penuh 4 L dan wadah 3 kosong}
buang 2
{karena wadah 2 memang kosong sejak awal, tidak terjadi perubahan apa-apa}
Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika
{keadaan akhir: - wadah 1: 4 L
- wadah 2: 0 L
- wadah 3: 0 L
- wadah 4: 6 L}
48. Manakah deretan input yang menghasilkan 9 L air pada wadah 4?
a.
isi 3
b.
isi 3
c.
isi 2
tuang 3 2
tuang 3 1
tuang 2 4
tumpah 3 4
tumpah 3 4
tambah 2 4
d. ada lebih dari satu deretan input yang benar
e. tidak ada pilihan jawaban lain yang benar
49. Berapa input minimal yang diperlukan untuk menghasilkan 5 L air pada wadah 4?
a. 3
b. 4
c. 5
d. 6
e. tidak ada pilihan jawaban lain yang benar
SOAL ALGORITMIK 3
50. Var matriks : array[1..10, 1..10] of integer
Bayangkan kita memiliki sebuah array 2 dimensi seperti deklarasi diatas. Kita ingin mengisi salah satu nilai dalam matriks tersebut. Kita baca x
dan y sebagai posisi elemen matriks yang akan diisikan, kemudian kita baca nilai yang akan diisikan ke dalam matriks[x,y] tersebut.
Pengecekan manakah yang paling tepat untuk mencegah agar posisi yang akan kita isikan tidak berada di luar jangkauan?
a. if (x>0) or (y>0) and (x<=10) or (y<=10) then ...
b. if (x>0) and (y>0) or (x<=10) and (y<=10) then ...
c. if not((x<0) or (y<0) or (x>10) or (y>10)) then ...
d. if (x>0) and (y>0) and not(x<11) and not(y<11) then ...
Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika
e. if not((x<1) or (x>10)) and not((y<1) or (y>10)) then ...
SOAL ALGORITMIK 4
Perhatikan sub program berikut:
51. Dari pemanggilan dibawah ini, manakah yang bernilai FALSE?
a. topSecret(1,2,3)
b. topSecret(2,6,2)
c. topSecret(4,8,8)
d. topSecret(6,5,4)
e. topSecret(7,9,5)
Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika
52. Dari pemanggilan dibawah ini, manakah yang bernilai TRUE?
a. topSecret(77,35,59)
b. topSecret(61,82,93)
c. topSecret(54,20,11)
d. topSecret(44,43,72)
e. topSecret(25,18,36)
SOAL ALGORITMIK 5
Perhatikan potongan program di bawah ini!
Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika
53. Jika kita memasukkan bilangan 5 3 8 1 6 sebagai pengisi a, b, c, d dan e, maka apakah keluaran potongan program di atas?
a. -2 3 8 4 1
b. 0 3 8 4 1
c. 3 -3 -2 8 0
d. 3 3 -2 4 0
e. 5 3 8 16 0
SOAL ALGORITMIK 5
Perhatikan potongan program di bawah ini!
54. Jika di akhir, dituliskan writeln(data[2,2]); apakah keluaran program tersebut?
a. 1
b. 2
c. 4
d. 7
e. 11
Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika
55. Berapakah nilai akhir data[5,5]?
a. 10
b. 16
c. 23
d. 24
e. 45
CADANGAN
56. Berapakah digit terakhir dari hasil perkalian 9 × 8 × 7 × 6 × 5 × 4 × 3 × 2 × 1?
a. 0
b. 2
c. 4
d. 6
e. 8
57. Berapakah hasil penjumlahan 200 + 201 + 202 + ... + 800?
a. 300000 b. 300500 c. 301500 d. 302000 e.302500
58. Apakah digit terakhir dari perhitungan
?
a. 1
b. 3
c. 5
d. 7
e. 9
59. Jika bilangan x habis dibagi 7 dan bilangan y habis dibagi 21, pernyataan-pernyataan manakah yang benar?
I. x dan y kemungkinan adalah bilangan yang sama
II. y-x akan berupa bilangan non-negatif
III. Faktor persekutuan terbesar dari x dan y adalah 7
a. I dan II b. I dan III c. II dan III d. I, II, dan III
e. tidak ada pilihan jawaban lain yang benar
Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika
Olimpiade Sains Nasional VI Soal Pemrograman Hari Pertama
1. Si Ganesh diberi PR oleh gurunya untuk menulis lirik lagu “Anak Ayam” (ini lagu kolaborasi antara seni dan matematika). Namun, karena ini juga sekaligus hukuman, dia harus menulis lirik lagu “Anak Ayam Turun 100000”. Marilah kita bantu Si Ganesh menyelesaikan PR-nya ini. Buatlah sebuah program yang menerima sebuah bilangan N (1 <= N <= 100000) lalu menuliskan lirik “Anak Ayam Turun N” di layar.
Contoh Masukan:
10
Contoh Keluaran:
Anak ayam turun 10, mati 1 tinggal 9. Anak ayam turun 9, mati 1 tinggal 8. Anak ayam turun 8, mati 1 tinggal 7. Anak ayam turun 7, mati 1 tinggal 6. Anak ayam turun 6, mati 1 tinggal 5. Anak ayam turun 5, mati 1 tinggal 4. Anak ayam turun 4, mati 1 tinggal 3. Anak ayam turun 3, mati 1 tinggal 2. Anak ayam turun 2, mati 1 tinggal 1.
Anak ayam turun 1, mati 1 tinggal induknya.
Catatan:
Perhatikan pemakaian tanda bacanya (titik dan koma).
2. Buatlah sebuah program yang menerima masukan sebuah bilangan bulat N (N <= 180). Keluaran program adalah sebuah tabel perkalian dengan ukuran N x N. Baris ke-i kolom ke-j pada output merupakan hasil perkalian dari i dan j. Apabila bilangan masukan adalah nol atau bernilai negatif, program tidak mengeluarkan apa-apa. Contoh Masukan: 4 Contoh Keluaran: 1 2 3 4 2 4 6 8 3 6 9 12 4 8 12 16 Catatan:
Perhatikan dalam setiap baris satu bilangan dengan bilangan lain hanya dipisahkan 1 (satu) spasi.
Olimpiade Sains Nasional VI Soal Pemrograman Hari Pertama
3. Di dalam pelatihan militer terdapat sebuah sandi yang menggeser semua huruf dalam alfabet sebanyak dua langkah ke kanan, contoh: 'AKU ANAK TOKI' jika di-kode-kan menjadi 'CMW CPCM VQMK'. Huruf Y dan Z masing-masing di-kode-kan menjadi A dan B. Buatlah program untuk mengembalikan kalimat yang sudah ter-kode-kan ke dalam bentuk asalnya.
Contoh Masukan:
CMW CPCM VQMK
Contoh Keluaran :
AKU ANAK TOKI
Catatan:
Semua input dipastikan dalam huruf besar (uppercase) dan panjangnya tidak lebih dari 255 karakter.
4. Buatlah sebuah program yang menerima masukn sebuah bilangan bulat (dipastikan berada dalam batasan tipe data integer), dan mengeluarkan pola bintang dan spasi seperti pada contoh berikut.
Contoh Masukan: 5 Contoh Keluaran: *...* **...** ***....*** ****..**** ********** Contoh Masukan: 10 Contoh Keluaran: *...* **...** ***...*** ****...**** *****...***** ******...****** *******...******* ********....******** *********..********* ******************** Page 2 of 5
Olimpiade Sains Nasional VI Soal Pemrograman Hari Pertama
5. Buatlah sebuah program untuk menjumlahkan dua buah matriks. Baris pertama pada masukan berisi 2 bilangan bulat, M dan N (2 <= M,N <= 100), merupakan ukuran baris dan kolom matriks. Baris 2 sampai m + 1 berisi n buah bilangan bulat (dalam batasan tipe data integer), masing-masing merupakan elemen dari matriks pertama. Baris m + 2 sampai 2m + 1 berisi n buah bilangan bulat (dalam batasan tipe data integer), masing-masing merupakan elemen dari matriks kedua. Keluaran dari program ini adalah matriks yang merupakan hasil penjumlahan kedua matriks masukan.
Contoh Masukan: 3 3 1 2 3 4 5 6 7 8 9 1 4 7 2 5 8 3 6 9 Contoh Keluaran: 2 6 10 6 10 14 10 14 18 Penjelasan Contoh:
matriks berukuran 3 × 3, dengan matriks pertama:
9 8 7 6 5 4 3 2 1
dan matriks kedua:
9 6 3 8 5 2 7 4 1
matriks hasil penjumlahan:
= + + + + + + + + + 18 14 10 14 10 6 10 6 2 9 9 6 8 3 7 8 6 5 5 2 4 7 3 4 2 1 1 Page 3 of 5
Olimpiade Sains Nasional VI Soal Pemrograman Hari Pertama
6. Buatlah sebuah program yang menerima masukan sebuah bilangan bulat (1..9), dan mengeluarkan pola seperti pada contoh berikut.
Contoh Masukan: 5 Contoh Keluaran: ....9.... ....8.... ....7.... ....6.... 123456789 ....4.... ....3.... ....2.... ....1.... Contoh Masukan: 3 Contoh Keluaran: ..9... ..8... ..7... ..6... ..5... ..4... 123456789 ..2... ..1... Page 4 of 5
Olimpiade Sains Nasional VI Soal Pemrograman Hari Pertama
7. Buatlah program yang menghitung jumlah kemunculan huruf pada suatu kalimat. Baris pertama pada masukan berisi bilangan bulat m (1 <= m <= 10000) dan karakter c, dengan m menyatakan jumlah huruf pada kalimat masukan dan c yang menyatakan karakter yang akan dicari jumlah kemunculannya. Baris kedua berisi m karakter yang telah didefinisikan sebelumnya. Keluaran berupa jumlah kemunculan karakter c. Huruf besar dan huruf kecil dianggap sama.
Contoh Masukan:
20 a
Aku seorang kapiten.
Contoh Masukan:
3
8. Buatlah sebuah program untuk mengubah suatu pecahan menjadi bentuk pecahan campuran-tersederhana. Sebagai contoh, 10/4 akan diubah menjadi 2 1/2, 6/9 menjadi 2/3. Contoh Masukan: 10/4 Contoh Keluaran: 2 1/2 Contoh Masukan: 6/9 Contoh Keluaran: 2/3 Page 5 of 5
Olimpiade Sains Nasional VI Bidang Informatika
Page 1 of 8
TINGGI KANDANG SUSUN
Kode Soal : SUSUN.PAS Batas Run-time : 1 detik / testcase
Batas Memori : 32 MB
Masukan : Standard Input Keluaran : Standard Output
Selain bebek, Pak Dengklek berkeinginan memelihara kucing dan karena itu ia bermaksud membangun kandang untuk kucing-kucingnya. Harga tanah kini sangat mahal, Pak Dengklek tidak memiliki lahan yang cukup luas untuk membangun kandang berlantai satu, maka kandang susunlah solusi untuk tempat tidur N kucingnya (1 <= N <= 1000000). Namun dalam kasus ini, justru yang kita pedulikan adalah total tinggi dari kandang susun tersebut, bukan luasnya. Sekedar informasi, kucing-kucing Pak Dengklek adalah hewan yang rewel, mereka tidak ingin tempat tinggalnya lebih rendah dari batas yang sudah mereka tentukan. Untuk tiap lantai kandang, Pak Dengklek hanya dapat memasukkan K (1 <= K <= 1000000) kucing secara berurutan, sehingga kucing 1 sampai K pasti akan berada di lantai pertama, kucing ke K+1 sampai 2K pasti akan berada di lantai kedua, dan seterusnya. Agar semua kucing senang, tinggi setiap lantai haruslah nilai maksimal dari batas yang ditentukan oleh kucing-kucing yang ada dalam lantai tersebut. Tugas Anda kini adalah mencari berapa total tinggi dari kandang susun yang akan dibangun Pak Dengklek. Perlu diingat untuk alas dan atap dibutuhkan papan setebal 1 sentimeter, di antara kedua lantai pun ada sekat setebal 1 sentimeter dan tebal-tebal itu harus diperhitungkan juga dalam menentukan total tinggi kandang.
Format Masukan
Baris pertama berisi dua buah bilangan bulat N dan K. Baris ke-2 sampai ke N+1 masing-masing berisi sebuah bilangan Ti yang merupakan batas tinggi yang diinginkan oleh kucing ke-i (dalam sentimeter).
Format Keluaran
Sebuah bilangan bulat yang menunjukkan total tinggi kandang susun yang akan Pak Dengklek bangun (dalam sentimeter).
Contoh Masukan 1 5 3 30 20 15 19 29 Contoh Keluaran 1 62
Olimpiade Sains Nasional VI Bidang Informatika Page 2 of 8 Contoh Masukan 2 2 2 2 2 Contoh Keluaran 2 4 Penjelasan Contoh 1
Total tinggi = 62 = 30 + 29 + 1 (alas) + 1 (atap) + 1 (sekat lantai 1 dan lantai 2)
Olimpiade Sains Nasional VI Bidang Informatika
Page 3 of 8
MENGHITUNG RUANG TERTUTUP
Kode Soal : RUANG.PAS Batas Run-time : 1 detik / testcase
Batas Memori : 32 MB
Masukan : Standard Input Keluaran : Standard Output
Pada suatu hari yang indah, Pak Dengklek bermain-main dengan komputernya. Dia berusaha menggambar sesuatu menggunakan karakter-karakter yang tersedia di keyboard. Setelah lama bermain-main, Pak Dengklek tertarik dengan karakter slash "/", karakter backslash "\", dan karakter period "." pada keyboard, karena dengan karakter-karakter itu dia dapat membuat gambar abstrak seperti gambar berukuran 5 x 5 di bawah ini: ./\.. .\/\. .///. ///./ \/./.
Pak Dengklek memiliki kreativitas yang besar. Dari gambar-gambar abstrak yang dibuatnya, dia ingin mengetahui ada berapa ruang tertutup yang dihasilkan oleh gambarnya. Ruang tertutup adalah ruang yang seluruhnya dibatasi oleh dinding. Karakter slash "/" dan backslash "\" berfungsi sebagai dinding. Anggaplah karakter "/" pada suatu kotak tepat menghubungkan titik sudut kanan atas dan kiri bawah kotak itu, dan karakter "\" pada suatu kotak tepat menghubungkan titik sudut kiri atas dan kanan bawah kotak itu. Sedangkan karakter "." mewakili ruang kosong, walaupun tidak semua ruang kosong ditandai dengan karakter ".".
Untuk lebih jelasnya, gambar abstrak di atas dapat diterjemahkan menjadi gambar di bawah ini:
Perhatikan bahwa ruang yang dibatasi dengan garis merah dan garis biru merupakan dua ruang tertutup yang dimaksud. Catatan: ruang yang ditandai dengan X bukan ruang tertutup, karena ruang itu tidak seluruhnya dibatasi oleh dinding (sisi kanan dan sisi bawah terbuka).
Olimpiade Sains Nasional VI Bidang Informatika
Page 4 of 8
Format Masukan
Baris pertama berisi bilangan bulat N dan M (1 <= N, M <= 250) yang merupakan tinggi dan lebar gambar. N baris berikutnya masing-masing memiliki panjang M karakter dan berisi gambar abstrak yang dibuat oleh Pak Dengklek. Gambar abstrak ini hanya terdiri atas karakter "/", "\", dan "." saja.
Format Keluaran
Baris pertama berisi sebuah bilangan bulat yang merupakan jumlah ruang tertutup pada gambar abstrak pada masukan.
Contoh Masukan 1 5 5 ./\.. .\/\. .///. ///./ \/./. Contoh Keluaran 1 2 Contoh Masukan 2 5 6 ../\.. .//\\. .\\.\\ ..\\// ...\/. Contoh Keluaran 2 2 Contoh Masukan 3 4 4 \../ .\/. ./\. /..\ Contoh Keluaran 3 0
Olimpiade Sains Nasional VI Bidang Informatika
Page 5 of 8
PEMBERAT
Kode Soal : PEMBERAT.PAS Batas Run-Time : 0,1 detik / testcase
Batas Memori : 1 MB
Masukan : Standard Input Keluaran : Standard Output
Setelah membeli beberapa ekor kucing, kini Pak Dengklek memiliki dua jenis binatang di kebun belakang rumahnya. Kucing dan bebek tentunya. Di belakang rumahnya tersebut, Pak Dengklek juga memiliki sebuah jungkat-jungkit untuk kucing dan bebeknya bermain. Agar tidak dinilai pilih kasih, untuk setiap kali permainan jungkat-jungkit, Pak Dengklek selalu mengatur sedemikian rupa sehingga di satu sisi pastilah seekor bebek dan di sisi lainnya pastilah seekor kucing. Sayangnya semua kucing Pak Dengklek gemuk-gemuk sehingga berat kucing terkurus Pak Dengklek pun tetap lebih besar dari berat bebek tergemuk. Oleh karena itu jungkat-jungkit Pak Dengklek sering kali lebih berat ke sisi di mana kucing berada dan permainan pun tidak berjalan dengan mengasyikan. Untuk mengatasi masalah ini, dasar Pak Dengklek yang banyak akalnya, ia menggunakan beberapa pemberat di sisi bebek berada, sedemikian sehingga berat satu sisi dan lainnya kini sama. Sayangnya Pak Dengklek tidak memiliki pemberat dalam setiap ukuran, Pak Dengklek hanya memiliki pemberat dengan ukuran 2^K dimana 0 <= K <= 60. Dan Pak Dengklek hanya memiliki satu buah pemberat untuk setiap ukuran tersebut. Nah, tugas kalian adalah membantu Pak Dengklek untuk menentukan pemberat mana saja yang harus ia gunakan. Asumsikan bahwa input selalu valid dan selalu ada solusi akan input yang diberikan.
Format Masukan
Baris pertama berisi sebuah bilangan bulat yang menunjukkan berat bebek yang akan bermain. Baris kedua berisi sebuah bilangan bulat yang menunjukkan berat kucing yang akan bermain. 1 <= berat bebek, berat kucing <= 2^61.
Format Keluaran
Beberapa baris dengan satu bilangan bulat setiap barisnya yang merupakan berat dari masing-masing pemberat yang digunakan Pak Dengklek. Keluaran ini diatur dalam keadaan terurut mengecil.
Contoh Masukan 1 1 6 Contoh Keluaran 1 4 1
Olimpiade Sains Nasional VI Bidang Informatika Page 6 of 8 Contoh Masukan 2 10 101 Contoh Keluaran 2 64 16 8 2 1
Olimpiade Sains Nasional VI Bidang Informatika
Page 7 of 8
PERMUTASI EKSPRESI
Kode Soal: PERMUT.PAS Batas Run-time: 0.5 detik / testcase
Batas Memori: 32 MB
Masukan: Standard Input Keluaran: Standard Output
Anda akan diberikan sebuah angka yang panjangnya maksimal 12 digit dan minimal 2 digit. Misalkan Anda diberikan angka 111. Angka tersebut tidak terlalu menarik bukan? Mari kita membuat hal yang lebih menarik dengan menyelipkan tanda '+' atau '-' di antara angka-angka tersebut. Jika Anda menyelipkan tanda '+' di antara setiap dua angka, Anda akan mendapatkan 1+1+1 = 3. Jika Anda menyelipkan tanda '-' di antara setiap dua angka, Anda akan mendapatkan 1-1-1 = -1. Hal yang menarik adalah Anda dapat membuat berbagai ekspresi dari angka 111 ini yang memiliki hasil ekspresi yang berbeda-beda. Untuk setiap dua angka yang bersebelahan, Anda dapat memilih untuk menyelipkan tanda '+', tanda '-', atau tidak menyelipkan apa-apa. Jika anda memilih untuk tidak menyelipkan apa-apa, Anda akan mendapatkan 111 = 111.
Format Masukan
Baris pertama berisi sebuah bilangan bulat N yang panjangnya maksimal 12 digit dan minimal 2 digit. Bilangan bulat ini selalu diawali dengan digit positif.
Format Keluaran
Baris pertama berisi sebuah bilangan bulat, yang merupakan banyaknya kemungkinan hasil ekspresi yang dapat dibuat dari bilangan N pada masukan.
Contoh Masukan 1 111 Contoh Keluaran 1 7 Contoh Masukan 2 101 Contoh Keluaran 2 5
Olimpiade Sains Nasional VI Bidang Informatika
Page 8 of 8
Penjelasan Contoh 1
Tujuh hasil ekspresi yang dimaksud pada contoh keluaran 1 adalah 111 = 111 11+1 = 1+11 = 12 11-1 = 10 1+1+1 = 3 1+1-1 = 1-1+1 = 1 1-1-1 = -1 1-11 = -10 Penjelasan Contoh 2
Lima hasil ekspresi yang dimaksud pada contoh keluaran 2 adalah 101 = 101
10+1 = 11 10-1 = 9 1+0+1 = 1-0+1 = 1+01 = 2 1+0-1 = 1-0-1 = 1-01 = 0