社区讨论
为什么这样写特别容易重复?如何去除重复?????????
P1024[NOIP 2001 提高组] 一元三次方程求解参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lo8z5ql1
- 此快照首次捕获于
- 2023/10/28 02:56 2 年前
- 此快照最后确认于
- 2023/10/28 02:56 2 年前
CPP
#include<iostream>
#include<vector>
#include<cmath>
#include<iomanip>
using namespace std;
double a,b,c,d;
double equation(double x){
return a*x*x*x+b*x*x+c*x+d;
}
int main(){
cin>>a>>b>>c>>d;
vector<double>solve;
for(int i=-100;i<100;i++){
double left=i,right=i+1;
while(equation(left)*equation(right)<=0&&right-left>10e-4){
//cout<<"left="<<left<<" right="<<right<<endl;
if(fabs(equation(left))<=10e-3){
solve.push_back(left);
break;
}
double mid=(left+right)/2;
if(equation(mid)*equation(left)>0){
break;
}
else{
right=mid;
}
}
}
//cout<<solve.size()<<endl;
for(int i=0;i<solve.size();i++){
cout<<fixed<<setprecision(2)<<solve[i]<<" ";
}
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...