OSP 2013

  1. Bayu memiliki koin uang 200, 300, 500, dan 700 yang sangat banyak. Ia berniat untuk membeli buku pemrograman seharga 2000. Karena koin uang tersebut cukup berat apabila ditaruh dalam kantung celana, ia hanya ingin membawa uang seminimal mungkin. Untuk itu, koin yang seharusnya ia bawa sebanyak … keping. {tuliskan dalam bentuk angka}


    Asumsikan bahwa ia ingin membawa uang pas.

    Jika ia butuh 200,300,500 atau 700 lagi, ia hanya perlu memilih 1 uang lagi.
    Misalkan f(x) adalah uang minimum yang ia butuhkan untuk mendapatkan koin senilai x.
    f(400) = 2 (200 + 200)
    f(600) = 2 (300 + 300)
    f(800) = 2 (500 + 300)
    f(900) = 2 (700 + 200)
    f(1000) = 2 (700 + 300)
    f(1100) = 3 (200 + f(900))
    f(1200) = 2 (700 + 500)
    f(1300) = min(f(1100) + 1, f(1000) + 1, f(800) + 1, f(600) + 1) = min(4,3,3,3) = 3
    f(1400) = min(f(1200) + 1, f(1100) + 1, f(900) + 1, f(700) + 1) = min(3,4,3,2) = 2
    f(1500) = min(f(1300) + 1, f(1200) + 1, f(1000) + 1, f(800) + 1) = min(4,3,3,3) = 3
    f(1600) = min(f(1400) + 1, f(1300) + 1, f(1100) + 1, f(900) + 1) = min(3,4,4,3) = 3
    f(1700) = min(f(1500) + 1, f(1400) + 1, f(1200) + 1, f(1000) + 1) = min(4,3,3,3) = 3
    f(1800) = min(f(1600) + 1, f(1500) + 1, f(1300) + 1, f(1100) + 1) = min(4,4,4,4) = 4
    f(1900) = min(f(1700) + 1, f(1600) + 1, f(1400) + 1, f(1200) + 1) = min(4,4,3,3) = 3
    f(2000) = min(f(1800) + 1, f(1700) + 1, f(1500) + 1, f(1300) + 1) = min(5,4,4,4) = 4

    Dengan demikian ia membawa 4 keping uang.

Share Now:

5 2 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments

Langganan

Subscribe To Our Newsletter

0
Would love your thoughts, please comment.x
()
x

Follow TikTok Kami @cahinfor

Pembahasan soal tahun 2023 sudah tersedia di TikTok Kami loh!