>>146 #include <stdio.h> #include <math.h> double f(double x) { return x * exp(x) - 6; } double fd(double x) { return (1 + x) * exp(x); } /* 繰り返し回数、初期値は任意 */ int main(void) { // 二分法 { int i, n = 10; double a = 0, b = 5, x; for (i = 0; i < n; i++) { x = (a + b) / 2; if (f(x) < 0 && f(a) < 0) { a = x; } else { b = x; } } printf("%f\n", x); } // ニュートン法 { int i, n = 10; double x = 0; for (i = 0; i < n; i++) { x = x - f(x) / fd(x); } printf("%f\n", x); } return 0; }