42
Soal-Soal Algoritma M. Jamhuri March 22, 2013 M. Jamhuri Soal-Soal Algoritma

Soal-Soal Algoritma - Mathjamhuri.lecturer.uin-malang.ac.id/wp-content/uploads/...Jika kita daftar semua bilangan asli di bawah 10 yang merupakan kelipatan dari 3 atau 5, kita mendapatkan

  • Upload
    lemien

  • View
    264

  • Download
    1

Embed Size (px)

Citation preview

Soal-Soal Algoritma

M. Jamhuri

March 22, 2013

M. Jamhuri Soal-Soal Algoritma

Soal-Soal dari (http://projecteuler.net)

Problem 1Jika kita daftar semua bilangan asli di bawah 10 yang merupakankelipatan dari 3 atau 5, kita mendapatkan 3, 5, 6, dan 9. Jumlahdari bilangan-bilangan tersebut adalah 23.Tentukan jumlah dari semua kelipatan dari 3 atau 5 di bawah 1000.

M. Jamhuri Soal-Soal Algoritma

Problem 2Setiap bilangan baru dalam urutan Fibonacci dihasilkan denganmenambahkan dua bilangan sebelumnya. Dengan dimulai dari 1 dan2, 10 suku pertamanya adalah:

1,2,3,5,8,13,21,34,55,89, . . .

Misalkan terdapat barisan bilangan Fibonacci yang nilainya tidakmelebihi 4 juta, tentukan jumlah semua bilangan-bilangan yangpositif.

M. Jamhuri Soal-Soal Algoritma

Contoh Soal Tipe Eksekusi (OSK 2010)

Soal 34Suatu array X berindeks dari 1 s.d. 10 dan setiap elemennya berisihuruf-huruf berurutan dari ’a’ sampai ’j’. Suatu algoritma bekerjapada array tersebut sbb. (Prosedur swap(a,b) adalah menukarkanharga a dan b).

Hasil yang dicetak adalah:

M. Jamhuri Soal-Soal Algoritma

Soal 35Dari soal no 34, jika algoritma yang bekerja pada array tersebutadalah sebagai berikut

M. Jamhuri Soal-Soal Algoritma

Soal 36Dari soal no 34, suatu algoritma bekerja pada array tersebut sebagaiberikut

M. Jamhuri Soal-Soal Algoritma

Soal-Soal OSK 2011

Soal 37

M. Jamhuri Soal-Soal Algoritma

Soal Menulis Program

Misalkan ada dua variabel x dan y , dan variabel hasil yang nilaiawalnya 0. Lakukan proses berikut selama nilai x lebih besar dari 0:

jika nilai x ganjil maka nilai hasil := hasil +ynilai x selanjutnya adalah nilai x sebelumnya dibagi dua, bila adahasil pecahan, maka pecahannya dibuang.(contoh bila nilai x sebelumnya 1, maka nilai x selanjutnya 0)nilai y selanjutnya adalah nilai y sebelumnya dikali dua

Manakah program pseudo-pascal yang merupakan program daritahapan-tahapan tersebut(dari: Bundel Pembahasan Soal OSI )

M. Jamhuri Soal-Soal Algoritma

Soal Menulis Program

Misalkan ada dua variabel x dan y , dan variabel hasil yang nilaiawalnya 0. Lakukan proses berikut selama nilai x lebih besar dari 0:

jika nilai x ganjil maka nilai hasil := hasil +ynilai x selanjutnya adalah nilai x sebelumnya dibagi dua, bila adahasil pecahan, maka pecahannya dibuang.(contoh bila nilai x sebelumnya 1, maka nilai x selanjutnya 0)nilai y selanjutnya adalah nilai y sebelumnya dikali dua

Manakah program pseudo-pascal yang merupakan program daritahapan-tahapan tersebut(dari: Bundel Pembahasan Soal OSI )

M. Jamhuri Soal-Soal Algoritma

Soal Menulis Program

Misalkan ada dua variabel x dan y , dan variabel hasil yang nilaiawalnya 0. Lakukan proses berikut selama nilai x lebih besar dari 0:

jika nilai x ganjil maka nilai hasil := hasil +ynilai x selanjutnya adalah nilai x sebelumnya dibagi dua, bila adahasil pecahan, maka pecahannya dibuang.(contoh bila nilai x sebelumnya 1, maka nilai x selanjutnya 0)nilai y selanjutnya adalah nilai y sebelumnya dikali dua

Manakah program pseudo-pascal yang merupakan program daritahapan-tahapan tersebut(dari: Bundel Pembahasan Soal OSI )

M. Jamhuri Soal-Soal Algoritma

Soal Menulis Program

Misalkan ada dua variabel x dan y , dan variabel hasil yang nilaiawalnya 0. Lakukan proses berikut selama nilai x lebih besar dari 0:

jika nilai x ganjil maka nilai hasil := hasil +ynilai x selanjutnya adalah nilai x sebelumnya dibagi dua, bila adahasil pecahan, maka pecahannya dibuang.(contoh bila nilai x sebelumnya 1, maka nilai x selanjutnya 0)nilai y selanjutnya adalah nilai y sebelumnya dikali dua

Manakah program pseudo-pascal yang merupakan program daritahapan-tahapan tersebut(dari: Bundel Pembahasan Soal OSI )

M. Jamhuri Soal-Soal Algoritma

Soal Menulis Program

Misalkan ada dua variabel x dan y , dan variabel hasil yang nilaiawalnya 0. Lakukan proses berikut selama nilai x lebih besar dari 0:

jika nilai x ganjil maka nilai hasil := hasil +ynilai x selanjutnya adalah nilai x sebelumnya dibagi dua, bila adahasil pecahan, maka pecahannya dibuang.(contoh bila nilai x sebelumnya 1, maka nilai x selanjutnya 0)nilai y selanjutnya adalah nilai y sebelumnya dikali dua

Manakah program pseudo-pascal yang merupakan program daritahapan-tahapan tersebut(dari: Bundel Pembahasan Soal OSI )

M. Jamhuri Soal-Soal Algoritma

Jawaban

M. Jamhuri Soal-Soal Algoritma

Perhatikan kode berikut untuk soal 2 dan 3

M. Jamhuri Soal-Soal Algoritma

Soal 4

Lengkapilah fungsi maksimum diatas, agar menghasilkan nilaimaksimum dari array a dari indeks 0 sampai ke N −1, N > 0tuliskan kodenya!

M. Jamhuri Soal-Soal Algoritma

Jawaban

M. Jamhuri Soal-Soal Algoritma

Faktorial

Kode Soal OSN601Batas Run-time 1 detik / test-caseBatas Memori 32 MB

SoalDiberikan sebuah bilangan N, N! disebut N faktorial dan nilainyadihitung dengan rumus :

N × (N −1)× (N −2) . . .1.

Tugas Anda adalah menghitung berapa jumlah angka nol berturutanyang mengakhiri N!.Sebagai contoh:

N = 10, 10! = 3628800, maka jumlah angka nol adalah 2.N = 8, 8! = 40320, jumlah angka nol adalah 1 (nol di tengah tidakdihitung).

M. Jamhuri Soal-Soal Algoritma

Faktorial

Kode Soal OSN601Batas Run-time 1 detik / test-caseBatas Memori 32 MB

SoalDiberikan sebuah bilangan N, N! disebut N faktorial dan nilainyadihitung dengan rumus :

N × (N −1)× (N −2) . . .1.

Tugas Anda adalah menghitung berapa jumlah angka nol berturutanyang mengakhiri N!.Sebagai contoh:

N = 10, 10! = 3628800, maka jumlah angka nol adalah 2.N = 8, 8! = 40320, jumlah angka nol adalah 1 (nol di tengah tidakdihitung).

M. Jamhuri Soal-Soal Algoritma

Faktorial

Kode Soal OSN601Batas Run-time 1 detik / test-caseBatas Memori 32 MB

SoalDiberikan sebuah bilangan N, N! disebut N faktorial dan nilainyadihitung dengan rumus :

N × (N −1)× (N −2) . . .1.

Tugas Anda adalah menghitung berapa jumlah angka nol berturutanyang mengakhiri N!.Sebagai contoh:

N = 10, 10! = 3628800, maka jumlah angka nol adalah 2.N = 8, 8! = 40320, jumlah angka nol adalah 1 (nol di tengah tidakdihitung).

M. Jamhuri Soal-Soal Algoritma

Faktorial

Kode Soal OSN601Batas Run-time 1 detik / test-caseBatas Memori 32 MB

SoalDiberikan sebuah bilangan N, N! disebut N faktorial dan nilainyadihitung dengan rumus :

N × (N −1)× (N −2) . . .1.

Tugas Anda adalah menghitung berapa jumlah angka nol berturutanyang mengakhiri N!.Sebagai contoh:

N = 10, 10! = 3628800, maka jumlah angka nol adalah 2.N = 8, 8! = 40320, jumlah angka nol adalah 1 (nol di tengah tidakdihitung).

M. Jamhuri Soal-Soal Algoritma

Faktorial

Kode Soal OSN601Batas Run-time 1 detik / test-caseBatas Memori 32 MB

SoalDiberikan sebuah bilangan N, N! disebut N faktorial dan nilainyadihitung dengan rumus :

N × (N −1)× (N −2) . . .1.

Tugas Anda adalah menghitung berapa jumlah angka nol berturutanyang mengakhiri N!.Sebagai contoh:

N = 10, 10! = 3628800, maka jumlah angka nol adalah 2.N = 8, 8! = 40320, jumlah angka nol adalah 1 (nol di tengah tidakdihitung).

M. Jamhuri Soal-Soal Algoritma

Faktorial

Kode Soal OSN601Batas Run-time 1 detik / test-caseBatas Memori 32 MB

SoalDiberikan sebuah bilangan N, N! disebut N faktorial dan nilainyadihitung dengan rumus :

N × (N −1)× (N −2) . . .1.

Tugas Anda adalah menghitung berapa jumlah angka nol berturutanyang mengakhiri N!.Sebagai contoh:

N = 10, 10! = 3628800, maka jumlah angka nol adalah 2.N = 8, 8! = 40320, jumlah angka nol adalah 1 (nol di tengah tidakdihitung).

M. Jamhuri Soal-Soal Algoritma

Faktorial

Kode Soal OSN601Batas Run-time 1 detik / test-caseBatas Memori 32 MB

SoalDiberikan sebuah bilangan N, N! disebut N faktorial dan nilainyadihitung dengan rumus :

N × (N −1)× (N −2) . . .1.

Tugas Anda adalah menghitung berapa jumlah angka nol berturutanyang mengakhiri N!.Sebagai contoh:

N = 10, 10! = 3628800, maka jumlah angka nol adalah 2.N = 8, 8! = 40320, jumlah angka nol adalah 1 (nol di tengah tidakdihitung).

M. Jamhuri Soal-Soal Algoritma

Faktorial

Format Masukan dan KeluaranMasukan:

Masukan hanya terdiri dari satu barisberisi bilangan bulat N(1 ≤ N ≤ 10000).

Keluaran:Tuliskan satu bilangan bulat yangmenyatakan jumlah angka nol yangmengakhiri N!.

Contoh Masukan danKeluaran

M. Jamhuri Soal-Soal Algoritma

Melukis

SoalBuatlah sebuah program yang akan menimpa nilai dari matriksberukuran W ×H sebanyak N langkah.Pada setiap langkah diberikan posisi pojok kiri atas (left, top) danpaling kanan bawah (right,bottom) dari area persegi yang akanditimpa dengan nilai K .Keluaran adalah kondisi akhir matriks setelah langkah ke-Ndijalankan.

M. Jamhuri Soal-Soal Algoritma

Melukis

SoalBuatlah sebuah program yang akan menimpa nilai dari matriksberukuran W ×H sebanyak N langkah.Pada setiap langkah diberikan posisi pojok kiri atas (left, top) danpaling kanan bawah (right,bottom) dari area persegi yang akanditimpa dengan nilai K .Keluaran adalah kondisi akhir matriks setelah langkah ke-Ndijalankan.

M. Jamhuri Soal-Soal Algoritma

Melukis

SoalBuatlah sebuah program yang akan menimpa nilai dari matriksberukuran W ×H sebanyak N langkah.Pada setiap langkah diberikan posisi pojok kiri atas (left, top) danpaling kanan bawah (right,bottom) dari area persegi yang akanditimpa dengan nilai K .Keluaran adalah kondisi akhir matriks setelah langkah ke-Ndijalankan.

M. Jamhuri Soal-Soal Algoritma

Melukis

SoalBuatlah sebuah program yang akan menimpa nilai dari matriksberukuran W ×H sebanyak N langkah.Pada setiap langkah diberikan posisi pojok kiri atas (left, top) danpaling kanan bawah (right,bottom) dari area persegi yang akanditimpa dengan nilai K .Keluaran adalah kondisi akhir matriks setelah langkah ke-Ndijalankan.

M. Jamhuri Soal-Soal Algoritma

Format Masukan dan KeluaranFormat Masukan:

Baris pertama berisi dua buah bilangan bulat,W (1 ≤ W ≤ 20) dan H (1 ≤ H ≤) .Baris kedua berisi sebuah bilangan bulatN (1 ≤ N ≤ 20) .N baris berikutnya berisi lima buah bilanganbulat Ai ,Bi ,Ci ,Di danKi (1 ≤ Ai ≤ Ci ≤ W ,1 ≤ Bi ≤ Di ≤ H) dimana(Ai ,Bi ) melambangkan koordinat(left,top) ,(Ci ,Di ) melambangkan kordinat(right,bottom) dan Ki nilai yang harusditimpakan.

Format Keluaran:H baris yang masing-masing terdiri atas tepatW karakter tanpa dipisahkan oleh spasi yangmenggambarkan kondisi akhir matriks.

Contoh Masukandan Keluaran

M. Jamhuri Soal-Soal Algoritma

Format Masukan dan KeluaranFormat Masukan:

Baris pertama berisi dua buah bilangan bulat,W (1 ≤ W ≤ 20) dan H (1 ≤ H ≤) .Baris kedua berisi sebuah bilangan bulatN (1 ≤ N ≤ 20) .N baris berikutnya berisi lima buah bilanganbulat Ai ,Bi ,Ci ,Di danKi (1 ≤ Ai ≤ Ci ≤ W ,1 ≤ Bi ≤ Di ≤ H) dimana(Ai ,Bi ) melambangkan koordinat(left,top) ,(Ci ,Di ) melambangkan kordinat(right,bottom) dan Ki nilai yang harusditimpakan.

Format Keluaran:H baris yang masing-masing terdiri atas tepatW karakter tanpa dipisahkan oleh spasi yangmenggambarkan kondisi akhir matriks.

Contoh Masukandan Keluaran

M. Jamhuri Soal-Soal Algoritma

Format Masukan dan KeluaranFormat Masukan:

Baris pertama berisi dua buah bilangan bulat,W (1 ≤ W ≤ 20) dan H (1 ≤ H ≤) .Baris kedua berisi sebuah bilangan bulatN (1 ≤ N ≤ 20) .N baris berikutnya berisi lima buah bilanganbulat Ai ,Bi ,Ci ,Di danKi (1 ≤ Ai ≤ Ci ≤ W ,1 ≤ Bi ≤ Di ≤ H) dimana(Ai ,Bi ) melambangkan koordinat(left,top) ,(Ci ,Di ) melambangkan kordinat(right,bottom) dan Ki nilai yang harusditimpakan.

Format Keluaran:H baris yang masing-masing terdiri atas tepatW karakter tanpa dipisahkan oleh spasi yangmenggambarkan kondisi akhir matriks.

Contoh Masukandan Keluaran

M. Jamhuri Soal-Soal Algoritma

Format Masukan dan KeluaranFormat Masukan:

Baris pertama berisi dua buah bilangan bulat,W (1 ≤ W ≤ 20) dan H (1 ≤ H ≤) .Baris kedua berisi sebuah bilangan bulatN (1 ≤ N ≤ 20) .N baris berikutnya berisi lima buah bilanganbulat Ai ,Bi ,Ci ,Di danKi (1 ≤ Ai ≤ Ci ≤ W ,1 ≤ Bi ≤ Di ≤ H) dimana(Ai ,Bi ) melambangkan koordinat(left,top) ,(Ci ,Di ) melambangkan kordinat(right,bottom) dan Ki nilai yang harusditimpakan.

Format Keluaran:H baris yang masing-masing terdiri atas tepatW karakter tanpa dipisahkan oleh spasi yangmenggambarkan kondisi akhir matriks.

Contoh Masukandan Keluaran

M. Jamhuri Soal-Soal Algoritma

Format Masukan dan KeluaranFormat Masukan:

Baris pertama berisi dua buah bilangan bulat,W (1 ≤ W ≤ 20) dan H (1 ≤ H ≤) .Baris kedua berisi sebuah bilangan bulatN (1 ≤ N ≤ 20) .N baris berikutnya berisi lima buah bilanganbulat Ai ,Bi ,Ci ,Di danKi (1 ≤ Ai ≤ Ci ≤ W ,1 ≤ Bi ≤ Di ≤ H) dimana(Ai ,Bi ) melambangkan koordinat(left,top) ,(Ci ,Di ) melambangkan kordinat(right,bottom) dan Ki nilai yang harusditimpakan.

Format Keluaran:H baris yang masing-masing terdiri atas tepatW karakter tanpa dipisahkan oleh spasi yangmenggambarkan kondisi akhir matriks.

Contoh Masukandan Keluaran

M. Jamhuri Soal-Soal Algoritma

Format Masukan dan KeluaranFormat Masukan:

Baris pertama berisi dua buah bilangan bulat,W (1 ≤ W ≤ 20) dan H (1 ≤ H ≤) .Baris kedua berisi sebuah bilangan bulatN (1 ≤ N ≤ 20) .N baris berikutnya berisi lima buah bilanganbulat Ai ,Bi ,Ci ,Di danKi (1 ≤ Ai ≤ Ci ≤ W ,1 ≤ Bi ≤ Di ≤ H) dimana(Ai ,Bi ) melambangkan koordinat(left,top) ,(Ci ,Di ) melambangkan kordinat(right,bottom) dan Ki nilai yang harusditimpakan.

Format Keluaran:H baris yang masing-masing terdiri atas tepatW karakter tanpa dipisahkan oleh spasi yangmenggambarkan kondisi akhir matriks.

Contoh Masukandan Keluaran

M. Jamhuri Soal-Soal Algoritma

Format Masukan dan KeluaranFormat Masukan:

Baris pertama berisi dua buah bilangan bulat,W (1 ≤ W ≤ 20) dan H (1 ≤ H ≤) .Baris kedua berisi sebuah bilangan bulatN (1 ≤ N ≤ 20) .N baris berikutnya berisi lima buah bilanganbulat Ai ,Bi ,Ci ,Di danKi (1 ≤ Ai ≤ Ci ≤ W ,1 ≤ Bi ≤ Di ≤ H) dimana(Ai ,Bi ) melambangkan koordinat(left,top) ,(Ci ,Di ) melambangkan kordinat(right,bottom) dan Ki nilai yang harusditimpakan.

Format Keluaran:H baris yang masing-masing terdiri atas tepatW karakter tanpa dipisahkan oleh spasi yangmenggambarkan kondisi akhir matriks.

Contoh Masukandan Keluaran

M. Jamhuri Soal-Soal Algoritma

Format Masukan dan KeluaranFormat Masukan:

Baris pertama berisi dua buah bilangan bulat,W (1 ≤ W ≤ 20) dan H (1 ≤ H ≤) .Baris kedua berisi sebuah bilangan bulatN (1 ≤ N ≤ 20) .N baris berikutnya berisi lima buah bilanganbulat Ai ,Bi ,Ci ,Di danKi (1 ≤ Ai ≤ Ci ≤ W ,1 ≤ Bi ≤ Di ≤ H) dimana(Ai ,Bi ) melambangkan koordinat(left,top) ,(Ci ,Di ) melambangkan kordinat(right,bottom) dan Ki nilai yang harusditimpakan.

Format Keluaran:H baris yang masing-masing terdiri atas tepatW karakter tanpa dipisahkan oleh spasi yangmenggambarkan kondisi akhir matriks.

Contoh Masukandan Keluaran

M. Jamhuri Soal-Soal Algoritma

Pecahan Uang

SoalDiberikan sebuah nilai uang dalam dolar sebesar K .Buatlah sebuah program yang akan menghasilkan pecahan dolarbernilai total K dengan memakai uang pecahan terbesar.Jika uang pecahan terbesar tidak dapat dipakai (karena jumlah uangakan melebihi pecahan terbesar), maka diambil pecahan yang lebihkecil, dan seterusnya.Pecahan yang tersedia adalah 1 dolar, 2 dolar, 5 dolar, 10 dolar, 20dolar, 50 dolar, 100 dolar, 200 dolar, 500 dolar, dan 1000 dolar.

M. Jamhuri Soal-Soal Algoritma

Pecahan Uang

SoalDiberikan sebuah nilai uang dalam dolar sebesar K .Buatlah sebuah program yang akan menghasilkan pecahan dolarbernilai total K dengan memakai uang pecahan terbesar.Jika uang pecahan terbesar tidak dapat dipakai (karena jumlah uangakan melebihi pecahan terbesar), maka diambil pecahan yang lebihkecil, dan seterusnya.Pecahan yang tersedia adalah 1 dolar, 2 dolar, 5 dolar, 10 dolar, 20dolar, 50 dolar, 100 dolar, 200 dolar, 500 dolar, dan 1000 dolar.

M. Jamhuri Soal-Soal Algoritma

Pecahan Uang

SoalDiberikan sebuah nilai uang dalam dolar sebesar K .Buatlah sebuah program yang akan menghasilkan pecahan dolarbernilai total K dengan memakai uang pecahan terbesar.Jika uang pecahan terbesar tidak dapat dipakai (karena jumlah uangakan melebihi pecahan terbesar), maka diambil pecahan yang lebihkecil, dan seterusnya.Pecahan yang tersedia adalah 1 dolar, 2 dolar, 5 dolar, 10 dolar, 20dolar, 50 dolar, 100 dolar, 200 dolar, 500 dolar, dan 1000 dolar.

M. Jamhuri Soal-Soal Algoritma

Pecahan Uang

SoalDiberikan sebuah nilai uang dalam dolar sebesar K .Buatlah sebuah program yang akan menghasilkan pecahan dolarbernilai total K dengan memakai uang pecahan terbesar.Jika uang pecahan terbesar tidak dapat dipakai (karena jumlah uangakan melebihi pecahan terbesar), maka diambil pecahan yang lebihkecil, dan seterusnya.Pecahan yang tersedia adalah 1 dolar, 2 dolar, 5 dolar, 10 dolar, 20dolar, 50 dolar, 100 dolar, 200 dolar, 500 dolar, dan 1000 dolar.

M. Jamhuri Soal-Soal Algoritma

Pecahan Uang

SoalDiberikan sebuah nilai uang dalam dolar sebesar K .Buatlah sebuah program yang akan menghasilkan pecahan dolarbernilai total K dengan memakai uang pecahan terbesar.Jika uang pecahan terbesar tidak dapat dipakai (karena jumlah uangakan melebihi pecahan terbesar), maka diambil pecahan yang lebihkecil, dan seterusnya.Pecahan yang tersedia adalah 1 dolar, 2 dolar, 5 dolar, 10 dolar, 20dolar, 50 dolar, 100 dolar, 200 dolar, 500 dolar, dan 1000 dolar.

M. Jamhuri Soal-Soal Algoritma

Format Masukan dan KeluaranFormat Masukan:

Baris pertama berisi sebuah bilanganbulat K (1 ≤ K ≤ 10000) , yangmerupakan jumlah uang yang harusdipecah.

Format KeluaranSatu atau lebih baris dimanamasing-masing baris berisi dua buahbilangan bulat yang dipisahkan olehsebuah spasi.Bilangan pertama adalah pecahan uangdan bilangan kedua adalah banyaklembar pecahan uang tersebut.Urutkanlah baris-baris berdasarkanpecahan uang, dari besar ke kecil.Pecahan uang yang tidak digunakantidak perlu ditulis.

Contoh Masukan danKeluaran

M. Jamhuri Soal-Soal Algoritma