| Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 86520 | sh25_wangtaojie | 二分法求函数的零点 | C++ | 无测评数据 | 0 MS | 0 KB | 815 | 2026-04-03 15:21:46 |
#include <iostream> #include <cmath> #include <iomanip> using namespace std; // 定义函数 f(x) double f(double x) { // 注意:原题是 274x,不是 274^x! return pow(x,5) - 15*pow(x,4) + 85*pow(x,3) - 225*pow(x,2) + 274*x - 121; } int main() { double left = 1.5; // 左端点 double right = 2.4; // 右端点 double mid; // 二分法迭代(精度足够高即可) while (right - left > 1e-7) { mid = (left + right) / 2; if (f(mid) > 0) { // 根在右半区间 left = mid; } else { // 根在左半区间 right = mid; } } // 输出:保留 6 位小数,自动四舍五入 cout << fixed << setprecision(6) << left << endl; return 0; }