Galera tenho uma aplicação simple usando Busca que deve fazer isso:
O computador fará uso de uma busca binária para descobrir onde você escondeu o marciano.
a. Você poderá esconder o marciano em uma das 100 árvores da floresta que estão enumeradas de 0 a 99. Você deverá entrar com um valor nessa faixa.
b. O computador usará uma busca binária para descobrir onde você escondeu o marciano.
c. O computador exibirá um número onde o marciano se esconde; Você deverá informar se a escolha foi certa ou está em uma árvore maior ou menor (número da árvore).
d. O computador irá informar novo número de acordo com a sua resposta (usando busca binária), até encontrar!
public class Numero3 {
public static void main (String args[]){
System.out.println("A chave que buscou foi de" + bb(0,100,15));
}
public static int bb( int indice, int tamanho,int chave){
int copia[] = new int [99];
int meio = (indice+tamanho)/2;
if(indice!=tamanho)
{
if(copia[meio]==chave)
System.out.print("O Marciano se encontra na Arvore"+ "["+ meio +"]"+ "=" + copia[meio]);
else
{
if(chave>copia[meio])
{
indice=meio+1;
bb(indice, tamanho, chave);
}
else
{
tamanho=meio-1;
bb(indice, tamanho, chave);
}
}
}
else
{
if(copia[meio]==chave)
System.out.print("O Marciano se encontra na Arvore"+ "["+ meio +"]" + "=" + copia[meio]);
else
System.out.print("Marciano Inexistente");
}
return 1;
}
}