游客 Signup | Login
中文 | En

1174 - C语言6.22

用二分法求以下方程在(-10, 10)之间的根:

保证此函数在以上区间中是单调递增的。

Input

Output

输出二分法求出的根,保留4位小数。

请注意行尾输出换行。

Examples

Input

Output

2.0000

Solution C

#include <stdio.h>
#include <math.h>
int main() {
        float l, r, mid, val;
        int time;
        l = -10; r = 10;
        for (time = 1;time <= 50;time++) {
                mid = (l + r) * 0.5;
                val = 2 * mid * mid * mid - 4 * mid * mid + 3 * mid - 6;
                if (val < 0)
                        l = mid;
                else
                        r = mid;
        }
        printf("%.4f\n", l);
        return 0;
}

Solution C++

#include <stdio.h>
#include <math.h>
int main() {
	float l, r, mid, val;
	int time;
	l = -10; r = 10;
	for (time = 1;time <= 50;time++) {
		mid = (l + r) * 0.5;
		val = 2 * mid * mid * mid - 4 * mid * mid + 3 * mid - 6;
		if (val < 0)
			l = mid;
		else
			r = mid;
	}
	printf("%.4f\n", l);
	return 0;
}

Time Limit 1 second
Memory Limit 32 MB
Discuss Stats
上一题 下一题