Permutação de Josephus

Pessoas numeradas de 0 até count - 1 ficam em um círculo. Começando em 0, elimine repetidamente cada pessoa step-ésima em rodadas sucessivas. Retorne o índice original do último sobrevivente.

Exemplo

Program.WhoGoesFree(9, 2) ➢ 2

Observações

As rodadas de execução ilustradas não envolvem arredondamento numérico.