#2#4WA求debug~
查看原帖
#2#4WA求debug~
956316
77Glorious楼主2024/4/21 21:51
#include <bits/stdc++.h>

using namespace std;
double a, b, c, d;
const double eps = 1e-4;

double f(int x) {
	return a * x * x * x + b * x * x + c * x + d;
}


int main() {
	cin >> a >> b >> c >> d;

	for (int i = -100; i <= 100; i++) {
		double l = i, r = i + 1, mid;
		if (fabs(f(l)) < eps)
			printf("%.2lf ", l);
		else if (fabs(f(r)) < eps)
			continue;
		else if (f(l)*f(r) < 0) {
			while (r - l > eps) {
				//找不到根
				mid = (l + r) / 2;
				if (f(mid)*f(r) > 0) {
					r = mid;//mid和r在同侧
				} else
					l = mid;

			}
			
		}
		printf("%.2lf ", l);
	}

	return 0;
}
2024/4/21 21:51
加载中...