测试点信息源代码
源代码 复制
#include<iostream>
using namespace std;
double a, b, c, d;
double* A = new double[20100];
int main()
{
cin >> a >> b >> c >> d;
A[0] = -100.00;
for (int i = 1; i < 20100; i++)
{
A[i] = A[i-1]+0.01;
}
for (int i = 0; i < 20100; i++)
{
if(a * A[i] * A[i] * A[i] + b * A[i] * A[i] + c * A[i] + d==0)
{
printf("%.2f", A[i]);
printf(" ");
}
else if ((a * A[i] * A[i] * A[i] + b * A[i] * A[i] + c * A[i] + d) * (a * A[i + 1] * A[i + 1] * A[i + 1] + b * A[i + 1] * A[i + 1] + c * A[i + 1] + d) < 0)
{
if ((a * A[i] * A[i] * A[i] + b * A[i] * A[i] + c * A[i] + d) * (a * ((A[i] + A[i + 1]) / 2) * ((A[i] + A[i + 1]) / 2) * ((A[i] + A[i + 1]) / 2) + b * ((A[i] + A[i + 1]) / 2) * ((A[i] + A[i + 1]) / 2) + c * ((A[i] + A[i + 1]) / 2) + d) <= 0)
{
printf("%.2f", A[i]);
printf(" ");
}
else {
printf("%.2f", A[i + 1]);
printf(" ");
}
}
}
}