公式法输出nan求调
查看原帖
公式法输出nan求调
916276
b9113fced86a32cad0d8楼主2025/1/17 20:43

RT,会输出nan

#include<bits/stdc++.h>
#include<complex>

using namespace std;

double a,b,c,d;
complex<double> w(-0.5,sqrt(3) / 2);
complex<double> x1,x2,x3;

int main(){
	cin>>a>>b>>c>>d;
	double p = -1.0 * (b * b) / (3 * a);
	double q = (2.0 * b * b * b) / (27 * a * a) - (b * c) / (3 * a) + d;
	double A = cbrt(-1 * q + sqrt(q * q + (p / 3) * (p / 3) * (p / 3)));
	double B = cbrt(-1 * q - sqrt(q * q + (p / 3) * (p / 3) * (p / 3)));
	x1 = -1.0 * (b) / (3 * a) + (A + B) / 2.0;
	x2 = -1.0 * (b) / (3 * a) + w * w * (A + w * B) / 2.0;
	x3 = -1.0 * (b) / (3 * a) + w * (A + w * w * B) / 2.0;
	cout<<x1<<" "<<x2<<" "<<x3;
	return 0;
}

暂且不考虑顺序、格式等的问题。

2025/1/17 20:43
加载中...