fork download
  1. #include <iostream>
  2. using namespace std;
  3. double f(double x){
  4. return 3*x*x-4*x+1;
  5. }
  6. double f1(double x){
  7. return 6*x-4;
  8. }
  9. int main() {
  10. // your code goes here
  11. double a,b,eps;
  12. cin>>a>>b>>eps;
  13. int k=0;
  14. while(abs(b-a)>eps){
  15. double c=(b+a)/2;
  16. if(f1(c)==0){
  17. cout<<c;
  18. }
  19. if(f1(c)>0){
  20. b=c;
  21. }
  22. if(f1(c)<0){
  23. a=c;
  24. k++;
  25. }
  26. }
  27. cout<<(b+a)/2<<k;
  28. return 0;
  29. }
Success #stdin #stdout 0s 5308KB
stdin
0 1 0.1
stdout
0.656252