Mam napisać funkcję w c++, która liczy pierwiastek nieujemnej liczby zmiennopozycyjnej a w oparciu
o wzór rekurencyjny:\(\displaystyle{ x _{0}=1,
x _{k+1}= \frac{x _{k}+ \frac{a}{x _{k} } }{2}}\)
przy czym obliczenia sa przerywane, gdy \(\displaystyle{ \left| x _{k} ^{2}-a \right|< Epsilon}\) dla pewnego zadanego epsilon> 0, o którym domyslnie zakłada się, ze wynosi jeden. Oczywiście problem błahy, funkcję napisałem taką:
Kod: Zaznacz cały
double x, i=1, n=1, epsilon;
cin>>x>>epsilon;
while(i<epsilon){
while( i*i<n*n*x){i=i+1;}
if(i*i>n*n*x){i=i-1;}
n=n*10;
i=i*10;
}
cout<<x<<"\t"<< i/n<<endl;