社区讨论

我这跟题解几乎一样的呀为啥错了

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

讨论操作

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

当前回复
2 条
当前快照
1 份
快照标识符
@mhjuyhfw
此快照首次捕获于
2025/11/04 08:56
4 个月前
此快照最后确认于
2025/11/04 08:56
4 个月前
查看原帖
CPP
#include<cstdio>
double a,b,c,d;
double fc(double x)
{
    return a*x*x*x+b*x*x+c*x+d;
}

int main()
{
    double l,r,m,x1,x2;
    scanf("%.2lf%.2lf%.2lf%.2lf", &a, &b, &c, &d);

    for(int i=-100; i<100; i++){
        l=i;
        r=i+1;
        x1=fc(l);
        x2=fc(r);
        if(x1==0) printf("%.2lf", l);
        if(x1*x2<0){
            while(r-l>=0.001){
                m=(l+r)/2;
                if(fc(m)*fc(r)<=0)
                    l=m;
                else 
                    r=m;
            }
            printf("%.2lf", r);
        }   
    }
    return 0;
}

回复

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

正在加载回复...