[NOIP2001]一元三次方程求解

[NOIP2001]一元三次方程求解

https://ac.nowcoder.com/acm/problem/16694

来源:牛客网 洛谷 一本通
题号:NC16694
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld

题目描述

有形如:ax3+bx2+cx+d=0  这样的一个一元三次方程。给出该方程中各项的系数(a,b,c,d  均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差的绝对值 ≥ 1。要求由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后2位。
提示:记方程f(x) = 0,若存在2个数x1和x2,且x< x2,f(x1)*f(x2) < 0,则在(x1,x2)之间一定有一个根。

输入描述:

一行,4个实数A,B,C,D。

输出描述:

一行,3个实根,并精确到小数点后2位。
示例1

输入

1 -5 -4 20

输出

-2.00 2.00 5.00
#include<bits/stdc++.h>
using namespace std;
double a, b, c, d;

double f(double x)
{
    return a*x*x*x + b*x*x + c*x + d;
}
void half(double l, double r)
{
    if (r - l <= 0.001)
    {
        printf("%.2lf ", l);
        return;
    }
    double mid = (l + r) / 2;
    double ans_l, ans_r;
    ans_l = f(l)*f(mid);
    ans_r = f(r)*f(mid);
    if (f(mid) == 0)
        printf("%,2lf ", mid);
    if (f(r) == 0)
        printf("%.2lf ", r);
    if (ans_l < 0)
        half(l, mid);
    else if (ans_r < 0)
        half(mid, r);
}

int main(){
    cin >> a >> b >> c >> d;
    for (double i = -100; i <= 99; ++i)
    {
        if (f(i)*f(i + 1) <= 0)
        {
            half(i, i + 1.0);
        }
    }
    cout << endl;
}


全部评论

相关推荐

牛客101244697号:这个衣服和发型不去投偶像练习生?
点赞 评论 收藏
分享
暴走萝莉莉:这是社招场吧,作为HR说个实话:这个维护关系的意思是要有政府资源,在曾经的工作中通过人脉资源拿下过大订单的意思。这个有相关管理经验,意思也是真的要有同岗位经验。应酬什么的对于业务成交来说就算不乐意也是常态,就是要求说话好听情商高,酒量好。
点赞 评论 收藏
分享
评论
1
1
分享
正在热议
# 25届秋招总结 #
443459次浏览 4523人参与
# 春招别灰心,我们一人来一句鼓励 #
42266次浏览 539人参与
# 北方华创开奖 #
107475次浏览 600人参与
# 地方国企笔面经互助 #
7973次浏览 18人参与
# 同bg的你秋招战况如何? #
77249次浏览 569人参与
# 实习必须要去大厂吗? #
55816次浏览 961人参与
# 阿里云管培生offer #
120456次浏览 2220人参与
# 虾皮求职进展汇总 #
116310次浏览 887人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
11702次浏览 289人参与
# 实习,投递多份简历没人回复怎么办 #
2455021次浏览 34861人参与
# 提前批简历挂麻了怎么办 #
149962次浏览 1979人参与
# 在找工作求抱抱 #
906124次浏览 9423人参与
# 如果公司给你放一天假,你会怎么度过? #
4764次浏览 55人参与
# 你投递的公司有几家约面了? #
33209次浏览 188人参与
# 投递实习岗位前的准备 #
1196058次浏览 18550人参与
# 机械人春招想让哪家公司来捞你? #
157650次浏览 2267人参与
# 双非本科求职如何逆袭 #
662406次浏览 7397人参与
# 发工资后,你做的第一件事是什么 #
12808次浏览 62人参与
# 工作中,努力重要还是选择重要? #
35929次浏览 384人参与
# 简历中的项目经历要怎么写? #
86943次浏览 1516人参与
# 参加完秋招的机械人,还参加春招吗? #
20154次浏览 240人参与
# 我的上岸简历长这样 #
452080次浏览 8089人参与
牛客网
牛客企业服务