3 条题解
-
2
#include<bits/stdc++.h> using namespace std; double a,b,c,d; double f(double x){ return pow(x,3)*a+pow(x,2)*b+x*c+d; } int main(){ cin>>a>>b>>c>>d; double l=0,r=0,mid=0; for(int i=-100;i<100;i++){ l=i,r=i+1; if(f(l)==0){ cout<<fixed<<setprecision(2)<<l<<' '; } if(f(l)*f(r)<0){ while(r-l>=0.001){ mid=(l+r)/2; if(f(l)*f(mid)<0){ r=mid; } else{ l=mid; } } cout<<fixed<<setprecision(2)<<r<<' '; } } return 0; }
-
-1
#include<bits/stdc++.h> using namespace std; int main(){ double a,b,c,d; scanf("%lf%lf%lf%lf",&a,&b,&c,&d); for(double i =- 100;i <= 100;i += 0.001){ double j = i + 0.001; double y1 = a * i * i * i + b * i * i + c * i + d; double y2 = a * j * j * j + b * j * j + c * j + d; if(y1 >= 0 && y2 <= 0 || y1 <= 0 && y2 >= 0){ double x = (i + j) / 2; printf("%.2lf ",x); } } return 0; }
- 1
信息
- ID
- 653
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 6
- 标签
- 递交数
- 225
- 已通过
- 77
- 上传者