记录编号 541894 评测结果 AAAAA
题目名称 [NOIP 2001]一元三次方程求解 最终得分 100
用户昵称 Gravatar能流零念 是否通过 通过
代码语言 C++ 运行时间 0.002 s
提交时间 2019-09-17 21:15:08 内存使用 13.66 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<iomanip>
using namespace std;
double a,b,c,d;
double f(double x)
{
	return a*x*x*x+b*x*x+c*x+d;
}
void work(int a)
{
	double left=a,right=a+1,mid;
	while(1)
	{
		mid=(left+right)/2;
		if((right-left)<1e-5)
		{
			printf("%.2f ",right);
			break;
		}
		if(f(mid)==0)
		{
			printf("%.2f ",mid);
			break;
		} 
		if(f(left)*f(mid)<0)
			right=mid;
		else
			left=mid;
	}
}
int main()
{
	freopen("3cfc.in","r",stdin);
	freopen("3cfc.out","w",stdout);
	cin>>a>>b>>c>>d;
	for(int i=-100;i<100;i++)
	{
		if(f(i)==0)
		{
			printf("%.2f ",(double)i);
			continue;
		}
		if(f(i)*f(i+1)<0)
		{
			work(i);
		}
	}
	return 0;
}