P1024 一元三次方程求解

题目描述

有形如: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)之间一定有一个根。

输入输出格式

输入格式:

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

输出格式:

一行,三个实根,并精确到小数点后2位。

输入输出样例

输入样例#1:

1 -5 -4 20
输出样例#1:

-2.00 2.00 5.00
#include<iostream>
#include<cstdio>
using namespace std;
double a,b,c,d,x1,x2,mid;
double f(double z){
return (a*z*z*z+b*z*z+c*z+d);
}
int main(){
cin>>a>>b>>c>>d;
for(int x=-;x<=;x++){
x1=x,x2=x+;
if(f(x1)==)
printf("%.2f ",x1);
else if(f(x1)*f(x2)<){
while(x2-x1>=0.001){
mid=(x1+x2)/;
if(f(x1)*f(mid)<=) x2=mid;
else x1=mid;
}
printf("%.2f ",x1);
}
}
cout<<endl;
}

最新文章

  1. 高性能图片服务器–ZIMG
  2. ios计算内容的高度 (含7.0前及以后的版本的用法)
  3. codeforces 446C DZY Loves Fibonacci Numbers(数学 or 数论+线段树)(两种方法)
  4. mui H5 js动态添加不同类型的数据
  5. 解决 SQLSERVER 2008 无法删除作业
  6. thinkphp学习笔记2—入口文件
  7. 剑指offer编程题Java实现——面试题12相关题大数的加法、减法、乘法问题的实现
  8. Windbg调试关键区(CriticalSection)死锁
  9. javaweb下载文件模板
  10. [HNOI2004]敲砖块
  11. 为自己搭建一个分布式 IM(即时通讯) 系统
  12. python接口自动化1
  13. 浏览器渲染页面的时候,不同的script块之间的关系
  14. Redis 分布式缓存 Java 框架
  15. Latex命令
  16. 3种shell自动交互的方法【转】
  17. 51nod 1275 连续字段的差异(单调队列)
  18. linux下开启oracle服务和开启监听
  19. 统计频率(map映照容器的使用)
  20. Nginx + PHP(php-fpm)遇到的502 Bad Gateway错误

热门文章

  1. Druid:一个用于大数据实时处理的开源分布式系统——大数据实时查询和分析的高容错、高性能开源分布式系统
  2. 原生js图片懒加载特效
  3. Java企业微信开发_01_接收消息服务器配置
  4. php如何判断电脑访问还是手机访问?
  5. Android数据存储的五种方法汇总
  6. OpenCV - Windows(win10)编译opencv + opencv_contrib
  7. 【LeetCode】085. Maximal Rectangle
  8. 反编译工具Reflector下载(集成FileGenerator和FileDisassembler)
  9. http头部解释
  10. Operating System-Process(2)进程表&amp;&amp;中断处理