求助大佬,有一个点过不去,呜呜
查看原帖
求助大佬,有一个点过不去,呜呜
818552
loe2022楼主2023/5/10 00:03
#include <iostream>
#include <algorithm>
#include <cstdio>

using namespace std;

double a, b, c, d;

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

int main()
{
	cin >> a >> b >> c >> d;
    
	for (double i = -101; i <= 101; i ++ ) {
     //按区间枚举,左开右闭的区间
		if (func(i + 0.001) * func(i + 1) <= 0) {

			double l = i + 0.001, r = i + 1;

			for (int j = 0; j < 100; j++) {
				double mid = (l + r) / 2.0;
				if (func(mid) * func(r) <= 0) l = mid;
				else r = mid;
			}

			printf("%.2f ", r);
		}
	}

	return 0;
}
2023/5/10 00:03
加载中...