fork(8) download
  1. #include <iostream>
  2. #include <math.h>
  3. using namespace std;
  4.  
  5. double f(double x)
  6. {
  7. return 9.2*x*x*x+3.3*x*x+4*x-1; //задаем уравнение
  8. }
  9.  
  10. double es(double x, double eps) //с помощью метода Эйтнена-Стеффенсона считаем приближения
  11. {
  12. double x0, x1, x2, d;
  13. do
  14. {
  15. x0=x;
  16. x1=f(x0);
  17. x2=f(x1);
  18. d=x0-2*x1+x2;
  19. if (d!=0)
  20. {
  21. x=(x0*x2-x1*x1)/d;
  22. }
  23. else return x;
  24. }
  25. while(fabs(x-x0)>eps); //условие окончания подсчета
  26. return x;
  27. }
  28.  
  29. int main() {
  30. double x, eps;
  31. cin >> x >> eps;
  32. cout << es(x, eps);
  33. return 0;
  34. }
Success #stdin #stdout 0s 3476KB
stdin
-4 0.0005
stdout
-3.99981