社区讨论

50分求调 求大佬玄关

P1024[NOIP 2001 提高组] 一元三次方程求解参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@m3psxzo2
此快照首次捕获于
2024/11/20 19:30
去年
此快照最后确认于
2024/11/20 20:30
去年
查看原帖
最开始还有点思路,后来越写越乱,最开始还有点思路,后来越写越乱, 套的二分模版,不知道在写啥,套的二分模版,不知道在写啥, 求大佬看看求大佬看看
CPP
#include<bits/stdc++.h>
using namespace std;
int a,b,c,d;
const double eps=1e-5;
double check(double h){
	return a*h*h*h+b*h*h+c*h+d;
}
int main(){
	cin>>a>>b>>c>>d;
	for(double i=-100;i<=100;i++){
		if(check(i)==0){
			printf("%.2lf ",i);
		}
		else if(check(i)*check(i+1)<0){
			double l=i,r=i+1;
			while(r-l>=eps){
				double mid=(l+r)/2;
				if(check(mid)==0){
					printf("%.2lf ",mid);
				}
				else{
					if(mid*r<=0) 
	                   l=mid;
	                else{
						r=mid;
					}
				}
			}
			printf("%.2lf",r);
		}
	}
	
	return 0;
}

回复

2 条回复,欢迎继续交流。

正在加载回复...