2 条题解

  • 1
    @ 2023-5-21 20:37:21

    暴力解决:

    #include <bits/stdc++.h>
    using namespace std;
    int main(){
    	double a,b,c,d;
    	cin >> a >> b >> c >> d;
    	for(double i = -100.00 ; i <= 100.01 ; i += 0.01) if(round((a * (i * i * i) + b * (i * i) + c * i + d) * 100) / 100 == 0) printf("%.2lf ",i);
    	return 0;
    }
    
    • @ 2023-5-21 21:46:16

      ?判断实数不能直接用判断等于知不知道

    • @ 2023-5-28 15:59:29

      @ 懒得用

  • 0
    @ 2023-12-10 21:04:16
    #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
    标签
    递交数
    173
    已通过
    54
    上传者