【题目描述】

形如:ax3+bx2+cx+d=0 这样的一个一元三次方程。

给出该方程中各项的系数(a,b,c,d均为实数),并约定该方程存在三个不同实根(根的范围在−100至100之间),且根与根之差的绝对值≥1。要求由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后2位。

【输入】

一行,包含四个实数a,b,c,d,相邻两个数之间用单个空格隔开。

【输出】

一行,包含三个实数,为该方程的三个实根,按从小到大顺序排列,相邻两个数之间用单个空格隔开,精确到小数点后2位。

【输入样例】

1.0 -5.0 -4.0 20.0

【输出样例】

-2.00 2.00 5.00

【源程序】

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<string>
#define INF 999999999
#define N 50001
#define MOD 1000000007
#define E 1e-5
using namespace std;
double a,b,c,d;
double calculate(double x)
{double ans=0;double y=1;for(int i=1;i<=3;i++)y*=x;y*=a;ans+=y;y=1;for(int i=1;i<=2;i++)y*=x;y*=b;ans+=y;y=1;y*=x;y*=c;ans+=y;ans+=d;return ans;
}
int main()
{double x=-100,x1,x2,x3;cin>>a>>b>>c>>d;while(x-100<=E){if(fabs(calculate(x))<=E)break;x+=0.01;}x1=x;x+=0.01;while(x-100<=E){if(fabs(calculate(x))<=E)break;x+=0.01;}x2=x;x+=0.01;while(x-100<=E){if(fabs(calculate(x))<E)break;x+=0.01;}x3=x;printf("%.2lf %.2lf %.2lf\n",x1,x2,x3);return 0;
}

一元三次方程求解(信息学奥赛一本通-T1238)相关推荐

  1. 求一元二次方程(信息学奥赛一本通-T1058)

    [题目描述] 求一元二次方程ax^2+bx+c=0的根,其中a不等于0.结果要求精确到小数点后5位. [输入] 输入一行,包含三个浮点数a, b, c(它们之间以一个空格分开),分别表示方程ax^2+ ...

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

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

  3. 【信奥赛一本通】1238:一元三次方程求解(详细代码)

    [分治算法]一元三次方程求解 1.[题目描述] 2.[代码] 1.[题目描述] [题目描述] 形如:ax3+bx2+cx+d=0 这样的一个一元三次方程. 给出该方程中各项的系数(a,b,c,d均为实 ...

  4. 信息学奥赛一本通(1101:不定方程求解)

    1101:不定方程求解 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 18175     通过数: 14383 [题目描述] 给定正整数a,b,c.求不定方程 a ...

  5. 信息学奥赛一本通 (C++)上机练习

    信息学奥赛一本通(C++)上机练习 此书为娃儿的第一本刷题书.娃儿现在四年级 ,希望他能坚持下来.特开贴加油 luogu: disangan223 第一部分 C++语言 第一章 C++语言入门 T10 ...

  6. 信息学奥赛一本通 提高篇 第六部分 数学基础 相关的真题

    第1章   快速幂 1875:[13NOIP提高组]转圈游戏 信息学奥赛一本通(C++版)在线评测系统 第2 章  素数 第 3 章  约数 第 4 章  同余问题 第 5 章  矩阵乘法 第 6 章 ...

  7. 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)

    信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法   更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...

  8. 信息学奥赛一本通在线提交地址

    信息学奥赛一本通 1 C++语言入门 1.1 综合 1.1.1 P1458 地球人口承载力估计 正确: 770 提交: 1794 比率: 42.92 % 1.1.2 P1686 Hello, Worl ...

  9. 信息学奥赛一本通(C++版)NOIP提高组(1820-1829)

    信息学奥赛一本通(C++版)NOIP提高组目录 //1820 [题目描述] 我们可以用这样的方式来表示一个十进制数:将每个阿拉伯数字乘以一个以该数字所 处位置的(值减1)为指数,以10为底数的幂之和的 ...

最新文章

  1. 场景解析--Pyramid Scene Parsing Network
  2. flask 读取 csv
  3. CodeDom 笔记整理
  4. 机器学习:使用numpy实现数据增强(Data Augmentation)
  5. asp.net core源码飘香:Logging组件
  6. 网络——发送email(一个简单荔枝)
  7. ASP.NET MVC的路由
  8. 数据结构链表之符号表,Python3实现——8
  9. 爬虫:验证码识别准确率(Tesseract-OCR)
  10. iOS11最新隐私信息访问列表
  11. 多数据点拟合曲线,最小二乘法,矩阵
  12. 多项目管理中PMO的作用
  13. 博客园2013年5月份第2周源码发布详情
  14. java 排序返回索引_java数组排序和索引
  15. 一不做,二不休, 干脆把开局库更换的批处理文件也调试好放出来...
  16. CSU2080: 航行日志的修复
  17. SQL脚本得到Epicor客制化信息
  18. jupyter添加快捷方式
  19. Hive自定义函数报错10014 :No matching method for class
  20. 箭头函数与普通函数,以及使用场景

热门文章

  1. 2020必火的图神经网络(GNN)是什么?有什么用?
  2. 期刊缩写查询_干活分享——SCI期刊名英文缩写查询
  3. 推荐一款多功能时间管理神器
  4. IntelliJ IDEA下的使用git
  5. Minidao_1.6.1版本发布,超轻量Java持久化框架
  6. 【参与开源】J2EE开源项目JEECG快速开发平台,欢迎广大技术爱好者参与,第三期招募新成员
  7. 架构设计:数据服务系统0到1落地实现方案
  8. 编程体系结构(09):分布式系统架构
  9. JavaScript 01
  10. 利用Layer组件弹出多个对话框(非嵌套)与关闭及刷新