题目描述

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

提示:记方程 f(x) = 0f(x)=0,若存在 22 个数 x_1x1​ 和 x_2x2​,且 x_1 < x_2x1​<x2​,f(x_1) \times f(x_2) < 0f(x1​)×f(x2​)<0,则在 (x_1, x_2)(x1​,x2​) 之间一定有一个根。

输入格式

一行,44 个实数 a, b, c, da,b,c,d。

输出格式

一行,33 个实根,从小到大输出,并精确到小数点后 22 位。

输入输出样例

输入 #1复制

1 -5 -4 20

输出 #1复制

-2.00 2.00 5.00

说明/提示

【题目来源】

NOIP 2001 提高组第一题

采用数学二分法,非暴力枚举

#include <stdio.h>//二分法 double a,b,c,d;//定义总变量方便下面书写 double suan(double i)
{double j = a*i*i*i+b*i*i+c*i+d;return j;
}int main()
{scanf("%lf %lf %lf %lf",&a,&b,&c,&d);double i,d1,d2,mid,l,r;                 for(i = -100; i < 100; i++){d1 = suan(i);d2 = suan(i+1);if(d1*d2<=0)//这种情况下才会有根 {if(d1==0)printf("%.2f ",i);else if(d2==0){printf("%.2f ",i+1);//记得i+1 i++;//少算一次,避免重复 }else{l = i,r = i+1;//赋值方便下面运算 while(r-l>1e-3){mid = l+(r-l)/2.0;if(suan(l)*suan(mid)<=0)r = mid;//很巧妙方便 elsel = mid;//很巧妙方便 }printf("%.2f ",mid);}} }return 0;
}

一元三次方程求解(洛谷)c语言相关推荐

  1. 二分答案——一元三次方程求解(洛谷 P1024)

    题目选自洛谷P1024 考虑使用二分的方法求解,引出零点存在性定理:若f(a) * f(b) < 0 (a<b),则在(a,b)上 至少存在一个解. 一个定义在实数区间上的二分呼之欲出:如 ...

  2. 题目:P1024 [NOIP2001 提高组] 一元三次方程求解

    题目:[NOIP2001 提高组] 一元三次方程求解 - 洛谷 题目大意 给定4个数作为一元三次方程的系数,再用2位小数计算出3个根 数据类型 double 思路 输入进行条件判断 代码 #inclu ...

  3. [洛谷P1024]python一元三次方程求解

    [洛谷P1024]python一元三次方程求解 首先将方程幂次形式转换为乘积形式(可节省代码运行时间) 其次使用零点定理F(x1)∗F(x2)<0F({x}_1)*F({x}_2)<0F( ...

  4. 洛谷——P1024 [NOIP2001 提高组] 一元三次方程求解

    P1024 [NOIP2001 提高组] 一元三次方程求解 题目描述 有形如:a x^3 + b x^2 + c x + d = 0a**x3+b**x2+c**x+d=0 这样的一个一元三次方程.给 ...

  5. 洛谷 P1024 一元三次方程求解 (暴力 or 二分 or 盛金公式)

    P1024 一元三次方程求解 题意 有形如:ax3+bx2+cx+d=0ax^3+bx^2+cx+d=0ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,da, ...

  6. 弦截法c语言程序,用弦截法求解一元三次方程的根(利用c语言实现)

    用弦截法求解一元三次方程的根(利用c语言实现)0 特别v2013.09.24浏览296次分享举报 #include #include float f(x) { float a,b,c,d; float ...

  7. zcmu-2116一元三次方程求解

    2116: 一元三次方程求解 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 65  Solved: 23 [Submit][Status][Web B ...

  8. 1814: 一元三次方程求解

    //很久之前写的,记录一下~ 1814: 一元三次方程求解 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 45 Solved: 28 [Submit][ ...

  9. 【luogu 1024 一元三次方程求解】二分思想

    题目出自luogu 1024 一元三次方程求解 描述: 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根( ...

  10. 信息学奥赛一本通(1238:一元三次方程求解)

    1238:一元三次方程求解 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 6364     通过数: 3241 [题目描述] 形如:ax^3+bx^2+cx+d= ...

最新文章

  1. 神“脑补”!只要一段话,就知道你的说话手势 | UC伯克利
  2. 【已解决】Android 如何让应用在后台运行
  3. ACM练习 愚人节拆括号【vector的清空 栈的使用】
  4. C#趣味程序---理财高手
  5. 使用DPDK打开Open vSwitch(OvS) *概述
  6. Atitit 数据查询法 目录 1. 数据查询语言QL (推荐) 1 1.1. Sql 1 1.2. 对象查询语言(OQL) 1 1.3. Atitit QL查询语言总结Jpql Ongl
  7. 计算机及网络保密检查记录表,南京航空航天大学涉密计算机保密检查记录表.doc...
  8. ESP32驱动AD7705
  9. [ZZ]一名IT从业者的英语口语能力成长路径
  10. float a=1.0f 中的“f”代表什么
  11. Linux Ubuntu常用软件
  12. CEIWEI ParallelMonitor并口监控 v3.0 并口打印机监控, 并口打开印机, 并行端口过滤, 并行端口监控, 并口过滤, 并口监控
  13. 配置Pico App ID
  14. 【资讯分享】云帆加速将P2P技术免费,该服务量级已突破1.5T
  15. nargchk和nargin
  16. jsp页面链接下载文件
  17. 解读亚马逊新财报:AWS增速放缓,数字广告能否接过增长重担?
  18. ieee会议论文从手稿到发表
  19. 在网站上增加了一个泛微OA链接打不开,刷新就可以
  20. 数学建模(九)决策论建模

热门文章

  1. 怎么看待“别人恐惧我贪婪,别人贪婪我恐惧 “这句话
  2. 【城北徐公之机器学习】感知机模型
  3. 一位资深开发的个人经历(走心好文)
  4. 微信点餐html5模板,【瑞蚁原创分享】12:springboot微信点餐之微信模板
  5. 七、vertical-align属性、透明度属性及兼容、ps常用工具、常见的图片格式、项目规范、命名参考、iconfont的使用...
  6. 匈牙利命名法、驼峰式命名法、帕斯卡命名法
  7. SAP工具箱 数据同步平台(九 与PO整合)
  8. 监控服务器时间无法修改怎么办,监控系统时间不对,怎么样修改,谢谢!
  9. 前端下载本地excel模板
  10. 小众APP分享,有兴趣的朋友快来挖宝