Найдите ошибку в коде. пожалуйста
Вот условие: Дано действительное число a и натуральное n. Вычислите корень n-й степени из числа a.
Для решения используйте метод деления отрезка пополам.
Входные данные
На вход программе в первой строке подается действительное неотрицательное число a, не превосходящее 1000, заданое с точностью до 6 знаков после точки. Во второй строке — натуральное число n, не превосходящее 10.
Выходные данные
Программа должна вывести единственное число: ответ на задачу с точностью не менее 4 знаков после точки.
Примеры:
Ввод
2
2
Вывод
1.41421356237
#include <iostream>
#include <cmath>
#include <iomanip>
long double firBinSearch(double a, int n, double R) {
double L = 0;
while (R - L > 1e-10) {
double M = (L + R) / 2;
if (pow(M, n) < a) {
L = M;
}
else {
R = M;
}
}
return R;
}
int main() {
int n;
double a;
std::cin >> a >> n;
if(a >= 1) {
double result = firBinSearch(a, n, a);
std::cout << std::fixed << std::setprecision(6);
}
else
{
if(a < 1) {
double result = secBinSearch (a, n, 1);
std::cout << std::fixed << std::setprecision(6)
}
}
return 0;
}