Exercício adivinhar um número com busca binária

Implementar um jogo “adivinha-número” utilizando busca binária:
Deve ser solicitado ao usuário que pense em um número entre 1 e 10000

O programa deve dar o primeiro palpite
– Se estiver errado, deve ser perguntado se o número é maior ou menor que um certo número
– O programa apresenta um novo palpite e assim por diante até que adivinha o número certo.
– O programa deve contar quantos palpites foram necessários para acertar o número

 

#include <stdio.h>
#include <math.h>

int guess(int i, int j){
    char r1, r2;
    int g = abs((i+j) / 2);
    printf("E o numero: %d ?(Y = Sim, N = Nao)\n", g);
    scanf(" %c", &r1);
    if(r1 == 'Y'){
        return g;
    }
    else{
        printf("O numero eh maior ou menor que %d ?(M = Maior, N = Menor)\n", g);
        scanf(" %c", &r2);
        if(r2 == 'M'){
            guess(g,j);
        }
        else{
            guess(i,g);
        }
    }
}
int main(){
    printf("Pense em um numero entre 1 e 10000.\n");
    guess(1,10001);
}

 

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *