50 #2 #4 求调
查看原帖
50 #2 #4 求调
1260978
xycsc23楼主2024/6/8 11:02

二分

#include<bits/stdc++.h>
using namespace std;
double a, b, c, d;
#define CHA 1e-3
double f(double x){
	return a*x*x*x+b*x*x+c*x+d;
}
int main(){
    //freopen(".in", "r", stdin);
    //freopen(".out", "w", stdout);
    cin>>a>>b>>c>>d;
    for(int i=-100;i<100;i++){
    	double l=i, r=i+1;
    	while(r-l>CHA){
    		double mid=(l+r)/2;
    		if(fabs(f(l))<CHA){
    			printf("%.2f ", l);
    			break;
			}
    		else if(f(l)*f(mid)<0)
    			r=mid;
    		else if(f(mid)*f(r)<0)
    			l=mid;
    		else
    			break;
		}
	}
	return 0;
}
2024/6/8 11:02
加载中...