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 x
jumlah 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 n
terbesar.
Aturan
x
akan selalu menjadi bilangan bulat positif dalam rentang di0 < x! <= l
manal
batas atas kemampuan penanganan angka bahasa Anda- Dijamin bahwa anak akan selalu makan jumlah
n
terbesar, misalnya untukx = 5
dann = 2
, dia akan makan4
dan5
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 = 0
Juga harus ditangani, karena 0! = 1
? (Mungkin x
juga harus ditetapkan sebagai