N-й корень до 101 существенного места

Я должен определить п-й(n является положительным 32-разрядным целым числом) корень данного fномер точки х произвольной точности до 101 значимое место. Мой подход с использованием Метод Ньютона однако дает мне результаты только до 53 знаков после запятой. Любая помощь как таковая будет оценена.

#include <bits/stdc++.h>
using namespace std;

double nthRoot(double A, int N)
{
double xPre = rand() % 10;//INITIAL GUESS
double eps = 1e-100;//SETTING PRECISION
double delX = INT_MAX;//SETTING DIFFERENCE BETWEEN VALUES OF 'X'
double xK;
while (delX > eps)
{
xK = (double)((N - 1.0) * xPre +(double)A/pow(xPre, N-1))
/(double)N;//FORMULA FROM NEWTON'S METHOD
delX = abs(xK - xPre);
xPre = xK;
}
return xK;
}

int main()
{
int N;
double A;
cin>>N>>A;
double nthRootValue = nthRoot(A, N);
cout.setf(ios::showpoint);
cout.precision(100);
cout <<"\n"<< "Nth root is " << nthRootValue << endl;
return 0;
}

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]