[NOIP2001 提高组] 一元三次方程求解
创始人
2024-03-18 20:36:46
0

#include
using namespace std;
 
double a, b, c, d;
double x1, x2, x3,p,q;
double f(double x) { return a * x * x * x + b * x * x + c * x + d; }
double df(double x) { return 3 * a * x * x + 2 * b * x + c; }
//切线方程为y=f'(x0)(x-x0)+f(x0);
//令y=0 ——>x = x0 - f(x0) / f'(x0)
 
void bs(double l, double r)
{
    double x=0, x0 = (l + r) / 2;//牛顿迭代法中,x0任意取,作为初始近似值,每次求出切线和此切线与x轴的交点,对此点(x,f(x))继续求切线,不断迭代。
    while (fabs(x0 - x) > 1e-4)
        x = x0 - f(x0) / df(x0), swap(x0, x);
        //x0为上一次切线与X轴交点的横坐标
        //x是由x0迭代求出的横坐标。每次swap,不断更新x0和x。不断迭代。
    printf("%.2f ", x);
}
 
int main(){
    
    cin >> a >> b >> c >> d;
    p = (-b - sqrt(b * b - 3 * a * c)) / 3*a;//较小的极值点
    q= (-b +sqrt(b * b - 3 * a * c)) / 3*a;//较大的极值点
    bs(-100, p);
    bs(p, q);
    bs(q, 100);
    return 0;
}

相关内容

热门资讯

爱回收、同城帮二手回收乱象:砍... 出品|搜狐科技 作者|郑松毅 编辑|杨锦 家里放着淘汰的旧手机,想卖掉回血却怕踩坑?不少人都抱着“能...
青海五年完成省级地方性法规和规... 中新网西宁12月27日电(祁增蓓)26日,记者从“‘十四五’发展成就”系列主题新闻发布会青海省司法厅...
新《海商法》中海上货物运输制度... 开栏寄语 《中华人民共和国海商法》完成全面修订并正式实施,这标志着我国海事法治建设进入新阶段,为加快...
2025年读书笔记(上):《乔... 小崔律师认为书单与歌单一样,实际上是非常私人化的内容,只有选择而无好坏之分,所谓的推荐其实只是对20...
原创 政... 忍无可忍的食堂承包商的一纸实名举报,撕开了河南省周口市淮阳人民中学从餐费中强行超高抽成,从学生口中夺...
小学女教师和校长的“窗帘纠纷”... 近日,关于一名女教师向校长申请安装窗帘遭到拒绝的事件,有了最新进展。 根据报道,该女教师所在的班级...
年度盘点丨十大关键词,看楼市政... 获取最新政策解读报告 ☞ 戳这里,加入地产/物业/投拓/产城 展望2026年,稳楼市的主基调延续,...
原创 韩... 韩国这回跟日本杠上了,不仅起诉了“靖国神社”,还要求日本政府赔钱,高市早苗的麻烦事儿,可真是一桩接着...
甘肃省镇原县人民法院:“小额诉... “法院拿出的一揽子方案,既考虑了我们企业的实际情况,也兼顾双方的合法权益,我们还愿继续合作!” 日前...
甘肃省民乐县人民法院诉讼服务中... “不到十分钟就完成了从咨询到立案的全部流程!”近日,一企业办事人员在法院干警的指导下,通过涉企绿色通...