Oiii gente! to tentando fazer um programa que adivinhe o número que a pessoa está pensando, isto em C, utilizando a pesquisa binária que vai dividindo por 2, mas as vezes dá uma diferença de -1 na resposta rs rs
Outra coisa, tem como eu diminuir o número de perguntas para advinhar? pois existe a chance de o número ser o primeiro, por exemplo: eu escolhe 500 como número e o programa perguna se é menor, e como não é ele vai aumentando.
#include <stdio.h>
#include <conio.h>
int main (){
printf("Advinho!\n");
printf("Escolha um numero entre 1 e 1000.\n");
printf("Tentarei adivinhar o numero em 10 perguntas:\n");
int perguntas = 1;
int esq = 1;
int dir = 1000;
int centro;
char resposta;
while (esq < dir)
{
centro = (esq + dir)/2;
printf("\n%d O numero eh menor do que %d?",perguntas++,centro);
resposta = getch();
if (resposta == 's')
dir = centro - 1;
else
esq = centro + 1;
}
printf("\nNumero:%d",centro);
getch();
}
Obrigadaaa!