Encontrei esse problema na internet mas estou com algumas dificuldades para fazer a repetição dos números sem os que já foram mortos (em JavaScript), alguém tem ideia de uma forma de escrever o código que se pede? Segue abaixo...
- O historiador Flavius Josephus relata como, no conflito Romano-Judaico em 67 D.C., os romanos tomaram a cidade de Jotapata, onde ele era comandante. Após ter escapado de Jotapata, Josephus encontrou-se preso em uma caverna com mais 40 companheiros. Os romanos descobriram o esconderijo e fizeram um convite para que ele se rendesse, mas seus companheiros se recusaram a permitir que ele fizesse isso. Ele então sugeriu que fizessem uma espécie de suicídio coletivo, onde um por um, todos seriam mortos, em uma ordem a ser definida pelo grupo e um seria morto pelo outro. Todos ficaram em círculo e virados para o centro. Começando em um determinado ponto, em sentido horário, cada terceira pessoa seria morta. O único sobrevivente foi Josephus, que se rendeu aos romanos. Isso nos leva a questão: Josephus já sabia exatamente onde ficar para que fosse o único sobrevivente?
Para se preparar para uma situação como essa, escreva um programa que determine qual posição você deve ficar no círculo para poder sobreviver. Você deverá informar a quantidade de pessoas no círculo (n > 0), a posição da pessoa que irá começar o suicídio (1 <= i <= n) e o "passo", isto é, de quantas em quantas pessoas, uma deverá ser morta (k > 0).
· n > 0 pessoas são organizada em um círculo, viradas para o centro e numeradas de 1 a n em sentido horário;
· Iniciando na pessoa i, conta-se no sentido horário, até que se chegue na pessoa de valor k (k > 0), que é morta imediatamente;
· Continuamos a contar k pessoas no sentido horário, a partir da pessoa a esquerda da que foi morta; Esse processo é repetido indefinidamente, até que apenas uma pessoa seja a sobrevivente.