社区讨论
布豪,死循环
P1024[NOIP 2001 提高组] 一元三次方程求解参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @m4vaxcpv
- 此快照首次捕获于
- 2024/12/19 20:32 去年
- 此快照最后确认于
- 2025/11/04 12:38 4 个月前
CPP
#include <bits/stdc++.h>
using namespace std;
int a, b, c, d;
int f(int x) {
return (a * pow(x, 3) + b * pow(x, 2) + c * x + d);
}
int main() {
cin >> a >> b >> c >> d;
int x1, x2;
for (int x = -100; x <= 100; x++) {
x1 = x, x2 = x + 1;
if (f(x1) == 0) {
printf("%.2f", x1);
} else if (f(x1)*f(x2) < 0) {
while (x2 - x1 >= 0.001) {
int xx = (x2 + x1) / 2;
if (f(x1)*f(xx) <= 0) {
x2 = xx;
} else {
x1 = xx;
}
}
printf("%.2f", x1);
}
}
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...