Eu to fazendo um projeto que tem uma progressão geométrica, e eu quero descobrir usando binary search entre quais "n" da minha PG um certo numero esta.
Vou dar um exemplo do jeito normal:
int numero = 2562;
int nmax = 100;
double q = 1.5; //q = razao da pg
int start = 10; //inicio da pg
int nloc = 0;
for(int n = 1; n <= nmax; n++) {
Long an = (long)(start * Math.pow(q, n));
Long annext = (long)(start * Math.pow(q, n+1));
if(numero > an && numero < annext) {
nloc = n;
break;
}
}
//no final nloc = 13
Esse é o código por sequencia, queria transformar isso em binary search, como poderia fazer?