O desafio
Escreva uma função que leva dois inteiros positivos n e k como argumentos e retorna o número da última pessoa remanescente de n após a contagem a cada k pessoa -ésimo.
Este é um desafio do código-golfe, portanto o código mais curto vence.
O problema
n pessoas (numeradas de 1 a n ) estão em pé em círculo e cada k- ésimo é contado até que uma única pessoa permaneça (consulte o artigo correspondente da wikipedia ). Determine o número dessa última pessoa.
Por exemplo, para k = 3, duas pessoas serão puladas e a terceira será contada. Ou seja, para n = 7, os números serão contados na ordem 3 6 2 7 5 1 (em detalhes 1 2 3 4 5 6 7 1 2 4 5 7 1 4 5 1 4 1 4 ) e, portanto, a resposta é 4 .
Exemplos
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