fork download
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. using namespace std;
  5.  
  6. const double EPS = .01;
  7.  
  8. double f(double x)
  9. {
  10. return 7 * sin(2*x);
  11. }
  12.  
  13. double solve(double l, double r)
  14. {
  15. double m = l / 2 + r / 2;
  16.  
  17. if (r-l < EPS)
  18. return m;
  19.  
  20. double x1 = solve(l, m), x2 = solve(m, r);
  21. return f(x1) < f(x2) ? x1 : x2;
  22. }
  23.  
  24. int main()
  25. {
  26. cout << solve(2, 6);
  27. return 0;
  28. }
Success #stdin #stdout 0s 3468KB
stdin
Standard input is empty
stdout
2.35547