TOPIC

qual a logica do problema?

Fábio Trajano asked 10 months ago

Eu nao entendi o que o program quer alguem pode me ajudar?

Remember not post solutions. Your post may be reviewed by our moderators.

  • Edson Parisotto replied 10 months ago

    continuação: [PARTE 2]

    Digamos, como no exemplo, você digite 17 na entrada. O valor de N será 17, o que indica que teremos 17 regiões.

    A primeira região região a ser desligada será sempre a região 1 e a última deve ser sempre a 13, conforme o problema exige.

    Sendo a primeira a região 1 a seguinte deve ser 1 + m, onde m será um valor aleatório (randomico) que você até pode limitar entre 1 e 99 (por exemplo). Então o valor m irá determinar o salto de cada iteração. Assim, se m for 5, então: 1 + 5 = 6, 6 + 5 = 11, 11 + 5 = 16. Nesse ponto, como o limite do exemplo é 17, fica assim: 16 + 5 = 12, porque depois do 17 você volta para o 1 e como 1 já foi desligado, você não conta com ele. O salto, depois do 16 é contado assim: 17, 2, 3, 4, 5 e assim por diante. Com o último não foi o 13, esse passo de m não serve e deve ser descartado. Quando o programa encontrar um valor de m onde o 13 seja o último a ser atingido, então de ser armazenado o valor de m em uma variável e quando um valor menor (menos saltos) for encontado para m esta variável deve conter este valor menor.

    No exemplo final, a entrada foi 17 e a saída foi 7. Então o processamento foi feito assim: 1, 1 + 7 = 8, 8 + 7 = 15, 15 + 7 = 6, 6 + 7 = 12 (porque não posso contar com o 8 que já foi desligado), 12 + 7 = 4 ( porque não posso contar com com o 15 e o 1) e por aí vai...

    Deu para clarear? Ficou mais confuso ainda?

    Cheguei bem perto de dar a resposta inteira, mas não posso da a solução exata.

    Boa sorte.

  • Edson Parisotto replied 10 months ago

    Olá, Fábio. [PARTE 1]

    A variável N representa o nútero total de regiões que serão consideradas e deve ser informada na entrada pelo usuário sendo obrigatoriamente igual ou maior que 13 e menor ou igual a 100.

    Seu programa deverá calcular um valor chamado de m que será o valor de saída.

    No exemplo foi digitado 17 como valor de entrada para N que gerou como resposta a saída 7 que foi o valor de m que foi calculado. Após foi digitado a entrada 0 (zero) que fez o programa encerrar. Se fosse digitado outro valor para N uma nova saída de m seria gerada e assim por diante até digitar zero.

    Sua maior dúvida, no entanto deve ser justamente no cálculo de m. Vamos lá:

  • Fábio Trajano replied 10 months ago

    Boa noite!! obrigado pela ajuda mas ainda tenho duvidas... porque 16+5 =12 , sei que 5 é salto e 16 foi o ultimo qual a logica para ser 12 o proximo.