救命!不知道哪里错了
查看原帖
救命!不知道哪里错了
817704
Inferior_dust楼主2024/1/26 20:14

谢谢

#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;

#define dd double

dd a, b, c, d;

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

void lsp(dd l, dd r) {
	dd mid;
	while(r - l >= 0.001) {
		mid = (l + r) / 2.000;
		if(f(l) * f(mid) <= 0) r = mid;
		else l = mid + 0.001;
	}
	printf("%.2llf ", mid);
}

int main()
{
	cin >> a >> b >> c >> d;
	for(int i = -100; i <= 100; i ++) {
		dd r = i + 1.000 - 0.001;
		dd l = i * 1.000;
		
		if(int(f(l)) == 0) printf("%.2llf ", l);
		else if(f(l) * f(r) <= 0) lsp(l, r);
	}
	cout << '\n';
	return 0;
}
2024/1/26 20:14
加载中...