求大佬看看我这为什么超时啊
查看原帖
求大佬看看我这为什么超时啊
1584891
yingxiaofei楼主2024/12/16 19:57
#include<stdio.h>
#include<math.h>
double a,b,c,d;
double f(double x)
{
     return a*x*x*x+b*x*x+c*x+d;
}
int main()
{
   double l,r,mid,x1,x2,x3;
   int sum=0;
   scanf("%lf %lf %lf %lf",&a,&b,&c,&d);
   for(int i=-100;i<=100;i++)
   {
   	l=i;
   	r=i+1;
   	x1=f(l);
   	x2=f(r);
   	if(x1==0)
   	{
   		printf("%.2lf ",l);
   		sum++;
	}
	if(x1*x2<0)
		{
			mid=(l+r)/2.0;
			while(fabs(r-l)>0.00001)
			{
				if(f(mid)*f(r)<0)
				{
					r=mid;
				}
				else
				{
					l=mid;
				}
			}
			printf("%.2lf ",l);
			sum++;
		}
	if(sum==3)
	{
		break;
	}
   }	
	return 0;
}
2024/12/16 19:57
加载中...