Teste: O problema de Josephus

O problema de Josephus é um jogo com dois parâmetros: número de participantes e distância entre eliminações.

Diz a lenda que um certo Flavius Josephus, durante uma guerra, se encontrava entre um bando de 41 judeus rebeldes encurralados pelos romanos em uma caverna.

Os rebeldes formam um círculo e começam a partir de certo ponto a executar a terceira pessoa numa direção.
Sabe-se que Josephus sobreviveu. Em que posição ele estava para ser o último?

Por exemplo, para 7 participantes e eliminar a cada 3:

Na primeira rodada, elimina o número 3.

Pulando mais três, eliminar o número 6.

Depois, é a vez do número 2.

Depois, o número 7 – note que o 3 e o 6 já tinham sido eliminados.

Na sequência, o 5 e o 1.

No final das contas, o número 4 é o vencedor. Neste jogo, Josephus deveria ficar na posição 4 para sobreviver!

Desafio: criar uma função Josephus(n, p), que receba o número de participantes (n) e a distância a eliminar (p), e retorne qual a posição vencedora.

A resposta foi publicada aqui.


Ideias técnicas com uma pitada de filosofia: https://ideiasesquecidas.com

Ferramentas Excel-VBA: https://ferramentasexcelvba.wordpress.com/

Um comentário sobre “Teste: O problema de Josephus

  1. Republicou isso em Forgotten Loree comentado:

    O problema de Josephus

    Diz a lenda que um certo Flavius Josephus, durante uma guerra, se encontrava entre um bando de 41 judeus rebeldes encurralados pelos romanos em uma caverna.

    Os rebeldes formam um círculo e começam a partir de certo ponto a executar a terceira pessoa numa direção.
    Sabe-se que Josephus sobreviveu. Em que posição ele estava para ser o último?

    De forma geral, dada uma função (número de pessoas, passos), em que posição Josephus deve ficar para se salvar?

    Curtir

Deixe um comentário

Faça o login usando um destes métodos para comentar:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s