Salah satu algoritma yang menguji kemampuan pemahaman array, looping, pembagian dan sisa pembagian adalah tentang menentukan uang kembalian yang harus diserahkan oleh kasir ke pembeli.

Misalkan, total belanja yang dibeli adalah Rp 11.000.
Di kasir, pembeli menyerahkan uang Rp 100.000.
Pertanyaan: Uang pecahan apa sajakah yang sebaiknya diserahkan ke pembeli untuk menghasilkan jumlah kembalian yang sesedikit mungkin? Misalkan bila total belanja adalah Rp 10.000 dan pembeli menyerahkan uang Rp 20.000 maka kasir sebaiknya menyerahkan selembar uang Rp 10.000, walau pun bisa juga dengan 2 lembar Rp 5.000 atau 5 lembar Rp 2.000.

Listing programnya adalah sebagai berikut:

Contoh outputnya adalah seperti di bawah ini: