1
resposta

[Sugestão] [Solução] Jogo De Adivinhação

Aqui está a solução que usei para o desafio, Coloquei o valor 100 e 5 tentativas, li algo parecido em um livro há um tempo atrás, sobre divisão e conquista, e busca binária, no livro "Entendendo Algoritmos", onde diz para dividir o intervalo de busca pela metade, em cada tentativa. Começo: Metade do valor total (50) Segunda etapa: Se o valor aleatório for maior que 50, chutar a metade do valor entre 50 e 100 (75) Segunda etapa: Se o valor aleatório for menor que 50, chutar a metade do valor entre 50 e 0 (25) Terceira etapa: Seguir a mesma idéia até acertar sempre dividindo pela metade as buscas. O número máximo de tentativas para encontrar um número em um intervalo de 1 a N é dado por: log2N (No exemplo até 100: log2 100 = 6,64 aproximando para 7 tentantivas)

import java.util.Random;
import java.util.Scanner;

public class OutroLoop {
    public static void main(String[] args) {
        Scanner leitura = new Scanner(System.in);
        int numeroAleatorio = new Random().nextInt(100);

        for (int i = 0; i <= 5; i++) {
            System.out.println("Tente acertar o valor aleatório. ");
            int resposta = leitura.nextInt();
            if (resposta == numeroAleatorio) {
                System.out.println("Acertou o número!");
                break;
            } else if (resposta > numeroAleatorio) {
                System.out.println("Tente um número mais baixo!");
            } else {
                System.out.println("Tente um número mais alto!");
            }
        };
        System.out.println("Fim de jogo!");
        System.out.println("O valor era: " + numeroAleatorio);
    }
}
1 resposta

Bom dia, Ives! Tudo bem?

Parabéns pelo resultado na resolução do desafio, ficou ótimo!

Além disso, agradeço por compartilhar seu código com os demais estudantes, com certeza vai ajudar nos estudos de todas as pessoas que estão aprendendo este mesmo assunto.

Continue mergulhando em tecnologia e se tiver dúvidas, conte com o fórum.

Abraços e bons estudos!