fork(1) download
  1. #include <iostream>
  2. #include <math.h>
  3. using namespace std;
  4.  
  5. int main ()
  6. {
  7. double a,xz,eps;
  8. int p;
  9. cin>>a>>p>>xz>>eps;
  10. double x=pow(a,1.0/p);
  11. double xn=xz,x_prev=-10000000;
  12. int i=0;
  13. while (fabs(xn-x_prev)>=eps)
  14. {
  15. x_prev=xn;
  16. xn=(x_prev/(p*p))*((p*p-1)+0.5*(p+1)*a/(pow(x_prev,p))-0.5*(p-1)*pow(x_prev,p)/(a));
  17. i++;
  18.  
  19. }
  20. cout<<i<<' '<<xn<<' '<<x<<endl;
  21. return 0;
  22. }
Success #stdin #stdout 0s 3476KB
stdin
17 2 2 0.1
stdout
3 4.12311 4.12311