1. 程式人生 > >用二分法求下面方程a的根在-10到10的

用二分法求下面方程a的根在-10到10的

2x3-4x2+3x-6=0

#include<stdio.h>
#include<math.h>
#pragma warning(disable:4996);
int main()
{
 double math(double, double, double);
 printf("%lf\n", math(-10, 10, 25));
 system("pause");
}
double math(double l, double r, double n)
{
 double f(double);
 if (n == 0)
  return (l + r) / 2;
 if (f((l + r) / 2)*f(r) < 0)
  return math((l + r) / 2, r, n-1);
 if (f((l + r) / 2)*f(l) < 0)
  return math(l,(l + r) / 2, n-1);
}
double f(double x)
{
 return 2 * pow(x, 3) - 4 * pow(x, 2) + 3 * x - 6;
}