Tantangan
Tulis fungsi yang mengambil dua bilangan bulat positif n dan k sebagai argumen dan mengembalikan jumlah orang terakhir yang tersisa dari n setelah menghitung masing-masing orang ke- k .
Ini adalah tantangan kode-golf, sehingga kode terpendek menang.
Masalah
n orang (yang diberi nomor dari 1 hingga n ) berdiri dalam lingkaran dan setiap k dihitung hingga satu orang tersisa (lihat artikel wikipedia yang sesuai ). Tentukan jumlah orang terakhir ini.
Misalnya untuk k = 3 dua orang akan dilewati dan yang ketiga akan dihitung. Yaitu untuk n = 7 angkanya akan dihitung dalam urutan 3 6 2 7 5 1 (secara detail 1 2 3 4 5 6 7 1 2 4 5 7 1 4 5 1 4 1 4 ) dan dengan demikian jawabannya adalah 4 .
Contohnya
J(7,1) = 7 // people are counted out in order 1 2 3 4 5 6 [7]
J(7,2) = 7 // people are counted out in order 2 4 6 1 5 3 [7]
J(7,3) = 4 // see above
J(7,11) = 1
J(77,8) = 1
J(123,12) = 21