В качестве задания я кодирую функцию журнала, используя метод hi-lo, чтобы найти ответ, но то, что у меня есть, не работает для чисел больше 10, и я не могу понять, почему
int main() {
double n, nq, x, y;
printf("Enter the number you wish to take to the base 10 logarithm:\n");
scanf("%lf", &x);
double hi = 1;
double lo = 0;
double qlo = 1;
double qhi = 10;
for(int i = 0; i <= 1000; i++) {
n = ((lo + hi)/2);
nq = sqrt(qlo * qhi);
if(nq > x) {
hi = n;
qhi = nq;
} else {
lo = n;
qlo = nq;
}
}
y = n;
printf("the logarithm is equal to %lf\n", y);
printf("%lf\n", log10(x)); // to check result
}