La sfida
Scrivi una funzione che prende due interi positivi n e k come argomenti e restituisce il numero dell'ultima persona rimasta da n dopo aver contato ogni k -esima persona.
Questa è una sfida di code-golf, quindi vince il codice più corto.
Il problema
n persone (numerate da 1 a n ) sono in piedi in un cerchio e ogni k -th viene contato fino a quando rimane una sola persona (vedi l' articolo di Wikipedia corrispondente ). Determina il numero di quest'ultima persona.
Ad esempio, per k = 3 verranno saltate due persone e il terzo verrà conteggiato. Vale a dire per n = 7 i numeri verranno conteggiati nell'ordine 3 6 2 7 5 1 (in dettaglio 1 2 3 4 5 6 7 1 2 4 5 7 1 4 5 1 4 1 4 ) e quindi la risposta è 4 .
Esempi
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