Kredit untuk Geobits di TNB untuk ide itu
Sebuah posting tanpa detail yang cukup baru-baru ini mengemukakan permainan yang menarik:
2 anak duduk di depan sederet permen. Setiap potongan permen diberi nomor 1 x, dengan xjumlah total permen yang ada. Ada persis 1 kemunculan setiap angka.
Tujuan permainan ini adalah agar anak-anak makan permen dan melipatgandakan nilai permen yang mereka makan untuk mencapai skor akhir, dengan skor yang lebih tinggi menang.
Namun posting asli melewatkan informasi penting, seperti bagaimana permen dipilih, sehingga anak-anak dalam cerita kami memutuskan bahwa anak yang lebih tua harus pergi duluan, dan dapat memakan hingga setengah permen, namun begitu ia mengumumkan akhir gilirannya, dia tidak bisa mengubah pikirannya.
Salah satu anak dalam permainan ini tidak suka permen, jadi dia ingin makan sesedikit mungkin, dan dia pernah melihat ayahnya menulis beberapa kode sekali, dan angka dia bisa menggunakan keterampilan yang diperoleh dari itu untuk mengetahui berapa banyak permen dia perlu makan untuk memastikan kemenangan, sementara masih makan sesedikit mungkin.
Tantangan
Mengingat jumlah total permen x, program atau fungsi Anda harus menghasilkan jumlah permen terkecil yang harus ia makan untuk memastikan kemenangan n,, bahkan jika lawannya memakan semua sisa permen.
Secara alami jumlah yang lebih besar menghasilkan angka yang lebih besar, jadi berapa pun jumlah yang akan Anda berikan kepadanya, ia akan memakan jumlah nterbesar.
Aturan
xakan selalu menjadi bilangan bulat positif dalam rentang di0 < x! <= lmanalbatas atas kemampuan penanganan angka bahasa Anda- Dijamin bahwa anak akan selalu makan jumlah
nterbesar, misalnya untukx = 5dann = 2, dia akan makan4dan5
Uji kasus
x = 1
n = 1
(1 > 0)
x = 2
n = 1
(2 > 1)
x = 4
n = 2
(3 * 4 == 12 > 1 * 2 == 2)
x = 5
n = 2
(4 * 5 == 20 > 1 * 2 * 3 == 6)
x = 100
n = 42
(product([59..100]) > product([1..58]))
x = 500
n = 220
(product([281..500]) > product([1..280]))
Mencetak gol
Sayangnya, kontestan pemberani kami tidak memiliki apa pun untuk menulis kodenya, jadi ia harus mengatur potongan-potongan permen ke dalam karakter kode, sebagai akibatnya, kode Anda harus sekecil mungkin, kode terkecil dalam byte menang!
x = 0Juga harus ditangani, karena 0! = 1? (Mungkin xjuga harus ditetapkan sebagai