1038 一元三次方程求解

2001年NOIP全国联赛提高组

时间限制: 1 s
空间限制: 128000 KB
题目等级 : 白银 Silver

题目描述 Description

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

输入描述 Input Description

一个三次方程的各项系数

输出描述 Output Description

三个解

样例输入 Sample Input

1   -5   -4   20

样例输出 Sample Output

-2.00   2.00   5.00

数据范围及提示 Data Size & Hint

 1 #include<iostream>
 2 #include<cstdio>
 3 using namespace std;
 4 double a,b,c,d;
 5 double mid;
 6 int flag=0;
 7 double qz(double p)
 8 {
 9     return a*p*p*p+b*p*p+c*p+d;
10 }
11
12 void find(double x,double y)
13 {
14
15     if(y-x>=0.001)
16     {
17         mid=(x+y)/2;
18         if(qz(mid)*qz(x)<0)
19         {
20             find(x,mid);
21         }//
22         else
23         {
24             find(mid,y);
25         }
26     }
27     if(flag==1)return;
28     printf("%.2lf ",mid);
29     flag=1;
30     return;
31 }
32 int main()
33 {
34
35     cin>>a>>b>>c>>d;
36     for(int i=-100;i<=100;i++)
37     {
38         double x1=i;
39         double x2=i+1;
40         if(qz(x1)==0)
41         {
42             printf("%.2lf ",x1);
43         }
44         if(qz(x1)*qz(x2)<0)
45         {
46             flag=0;
47             find(x1,x2);
48         }//两个数之间有一个根
49         else
50         continue;
51     }
52     return 0;
53 }

1038 一元三次方程求解相关推荐

  1. Codevs 1038 一元三次方程求解 NOIP 2001(导数 牛顿迭代)

    1038 一元三次方程求解 2001年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题目描述 Description 有形如:ax3+b ...

  2. 1038 一元三次方程求解 2001年NOIP全国联赛提高组

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

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

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

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

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

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

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

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

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

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

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

  8. P1024 [NOIP2001 提高组] 一元三次方程求解 /1238:一元三次方程求解

    P1024 [NOIP2001 提高组] 一元三次方程求解 /1238:一元三次方程求解 # [NOIP2001 提高组] 一元三次方程求解 ## 题目描述 有形如:$a x^3 + b x^2 + ...

  9. MATLAB实现一元三次方程求解/盛金公式

    MATLAB实现一元三次方程求解/盛金公式 一元三次方程求解中,1945年卡尔丹诺把冯塔纳的三次方程求根公式发表出来,但该公式形式比较复杂,直观性也较差.1989年范盛金对一元三次方程求解进行了深入的 ...

最新文章

  1. php中将数据加入到文件中
  2. python3中的dict循环性能对比
  3. 查看、关闭被占用的端口
  4. shell脚本获取系统的前一天日期,格式为yyyymmdd
  5. ABB机器人与PC计算机控制口连接 超级终端 命令清单
  6. 骨牌铺方格(HDU-2046)
  7. 内推|商汤科技深度学习方向实习生
  8. 用concat批量生成MySQL查询语句
  9. python爬虫框架scrapy学习图片下载
  10. oracle类型介绍,Oracle数字的3种基本类型介绍[转]
  11. imageJ的二次开发(全)
  12. VC++_2010_学习版_未能下载以下组件解决方案和microsoft应用程序错误报告
  13. android模拟器mac版本下载,TapTap安卓模拟器for Mac-TapTap模拟器Mac版下载 V1.8.3-PC6苹果网...
  14. 5G NR随机接入过程
  15. android egl使用方法,Android EGL整理
  16. MFC C++视频播放和视频的浓缩播放和检测目标接口
  17. Unity 3D模型展示框架篇之项目整理
  18. SECURITY:加密与解密,AIDE入侵检测系统,扫面与抓包
  19. 这应该是最全面的MySQL知识点总结啦
  20. nnl learning

热门文章

  1. Caused by: java.net.UnknownHostException: localhost.localdomain: localhost.localdomain的问题解决...
  2. ftp挂载分区上去后无法识别的问题
  3. 文本过滤--grep 1
  4. Asterisk中实现回拔
  5. 写给创业者的四句金玉良言
  6. 使用FCKeditor2.2图片上传的小技巧
  7. java集合类详解_【Java入门提高篇】Day20 Java集合类详解(三)List接口
  8. 《『若水新闻』客户端开发教程》——19.自定义TextView(2)
  9. javascript中new url()属性,轻松解析url地址
  10. 浏览器同源策略,及跨域解决方案