//15. #include<stdio.h> #include<math.h> int main(void) { float x2 = 10, x1 = -10, x; float f1, f2, f3; for (;;) { x = (x1 + x2) / 2; f1 = 2 * x1*x1*x1 - 4 * x1*x1 + 3 * x1 - 6; f2 = 2 * x2*x2*x2 - 4 * x2 *x2 + 3 * x2 - 6; f3 = 2 * x*x*x - 4 * x*x + 3 * x - 6; if ((f1*f3) <= 0) { x2 = x; x = (x1 + x) / 2; } if ((f2*f3) <= 0) { x1 = x; x = (x2 + x) / 2; } if (fabs(x2 - x1) < pow(10, -5)) break; } printf("X=%.4f", x); return 0; } |