50分#2#4 WA求助
查看原帖
50分#2#4 WA求助
1283951
csxx601cjy楼主2024/6/1 15:57

我按照书上写的,但是50分

#include<bits/stdc++.h>
using namespace std;
#define eps 1e-4
typedef double D;
D a,b,c,d;
D f(D x){
	return x*x*x*a+x*x*b+x*c+d;
}
int main(){
	cin>>a>>b>>c>>d;
	for(int i=-100;i<=100;i++){
		D l=i,r=i+1,mid;
		if(fabs(f(l))<eps)printf("%.2lf ",l);
		else if(fabs(f(r))<eps)continue;
		else if(f(l)*f(r)<0){
			while(r-l>eps){
				mid=(l+r)/2;
				if(f(mid)*f(r)>0)r=mid;
				else l=mid;
			}
			printf("%.2lf",l);
		}
	}
    return 0;
}
2024/6/1 15:57
加载中...