题解(30行)
2024-01-07 11:28:50
发布于:广东
52阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
typedef double dd;
dd a,b,c,d;
dd check(dd x)
{
return a*x*x*x+b*x*x+c*x+d;
}
int main()
{
cin>>a>>b>>c>>d;
for(dd i=-100;i<100;i++)
{
dd j=i+1;
if(check(i)==0) printf("%.2f ",i);
if(check(j)*check(i)<0)
{
dd l=i;
dd r=j;
while(r-l>0.00001)
{
dd mid=(l+r)/2.0;
if(check(l)*check(mid)<0) r=mid;
else l=mid;
}
printf("%.2f ",l);
}
}
return 0;
}
这里空空如也
有帮助,赞一个