1058:求一元二次方程

时间限制: 1000 ms 内存限制: 65536 KB

【题目描述】
利用公式x1=−b+b2−4ac√2a,x2=−b−b2−4ac√2ax1=−b+b2−4ac2a,x2=−b−b2−4ac2a,求一元二次方程ax2+bx+c=0ax2+bx+c=0的根,其中aa不等于00。结果要求精确到小数点后55位。

【输入】
输入一行,包含三个浮点数a,b,ca,b,c(它们之间以一个空格分开),分别表示方程ax2+bx+c=0ax2+bx+c=0的系数。

【输出】
输出一行,表示方程的解。

若两个实根相等,则输出形式为:“x1=x2=…x1=x2=…”;

若两个实根不等,在满足根小者在前的原则,则输出形式为:“x1=…;x2=…x1=…;x2=…“;

若无实根输出“No answer!”。

所有输出部分要求精确到小数点后5位,数字、符号之间没有空格。

【输入样例】
-15.97 19.69 12.02
【输出样例】
x1=-0.44781;x2=1.68075
【代码】

#include <cstdio>
#include <cmath>
#define eps1 1e-10
#define eps2 1e-6
using namespace std;
int main(){double a,b,c,x1,x2,g; scanf("%lf%lf%lf",&a,&b,&c);g=b*b-4*a*c;if(g<0&&fabs(g)>eps1)printf("No answer!");else if(fabs(g)<eps1){x1=-b/(2*a);if(fabs(x1)<eps2) printf("x1=x2=%.5lf",0);elseprintf("x1=x2=%.5lf",x1);}else{x1=(-b+sqrt(g))/(2*a);x2=(-b-sqrt(g))/(2*a);if(fabs(x1)<eps2)x1=fabs(x1);if(fabs(x2)<eps2)x2=fabs(x2);if(x1<x2)printf("x1=%.5lf;x2=%.5lf",x1,x2);else printf("x1=%.5lf;x2=%.5lf",x2,x1);}return 0;
}

1058:求一元二次方程相关推荐

  1. JAVA 1058:求一元二次方程

    1058:求一元二次方程 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 119301 通过数: 23330 [题目描述] 利用公式x1=−b+b2−4ac√2a,x2=−b−b2 ...

  2. 信息学奥赛一本通 1058:求一元二次方程

    [题目链接] ybt 1058:求一元二次方程 [题目考点] 1. 一元二次方程求根 2. if-else if-else语句 3. 浮点数比较 [解题思路] 首先求Δ=b2−4ac\Delta = ...

  3. 信息奥赛一本通(1058:求一元二次方程)

    1058:求一元二次方程 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 83135     通过数: 14037 [题目描述] 利用公式x1=−b+b2−4ac√ ...

  4. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1058:求一元二次方程

    时间限制: 1000 ms 内存限制: 65536 KB 提交数: 24853 通过数: 3925 [题目描述] 利用公式,求一元二次方程ax2+bx+c=0的根,其中a不等于0.结果要求精确到小数点 ...

  5. 信息学奥赛一本通C++语言——1058:求一元二次方程

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

  6. 1058:求一元二次方程(C C++)

    [题目描述] 利用公式x1=−b+b2−4ac√2a,x2=−b−b2−4ac√2a,求一元二次方程ax2+bx+c=0的根,其中a不等于0.结果要求精确到小数点后5位. [输入] 输入一行,包含三个 ...

  7. 信息学奥赛一本通:1058:求一元二次方程

    [题目描述] 利用公式x1=−b+√b*b−4ac/2a,x2=−b−√b*b−4ac/2a,求一元二次方程a*x*x+b*x+c=0的根,其中a不等于0.结果要求精确到小数点后5位. [输入] 输入 ...

  8. 计算概论(A)/基础编程练习1(8题)/4:求一元二次方程的根

    1 #include<stdio.h> 2 #include<math.h> 3 int main() { 4 // 待解方程数目 5 int n; 6 scanf(" ...

  9. 【Python实践-1】求一元二次方程的两个解

    知识点: import sys, sys模块包含了与Python解释器和它的环境有关的函数. "sys"是"system"的缩写.sys.exit() 中途退出 ...

最新文章

  1. Oracle的新建序列sequence
  2. 数字图像处理:第二十章 视频编码与压缩
  3. 将替代ListView的RecyclerView 的使用(一)
  4. tensorflow atrous convoltion
  5. 洛谷 P1757 通天之分组背包
  6. sass、gulp应用
  7. dotnetnuke|dnn 内网实现自动登录
  8. html pre标签增加行号,vue使用highlight.js 添加行号
  9. Visual Studio中C++工程的环境配置方法
  10. Reverse Interger
  11. redis系列二: linux下安装redis
  12. 实训-利用HTML+CSS制作某米官网首页
  13. 超详细软件工程黑书思维导图(从第一章到第八章)
  14. k8s学习-Secret(创建、使用、更新、删除等)
  15. 解决php加载慢的一个办法
  16. 《Microduino实战》——2.4 Microduino WRT系列
  17. php __destruct反序列化原理
  18. 2023最新高频前端面试题总结(附答案)
  19. 微信看看对方是不是把你删除了
  20. 原来微信发送500M文件很简单!改个后缀就能一键发送,厉害了

热门文章

  1. Open vSwitch系列实验(二):Open vSwitch的GRE隧道实验网络
  2. 分治算法--L型骨牌棋盘覆盖
  3. 简单精干之 MyBatis-Plus
  4. 工龄工资每年工龄自动增加计算设置
  5. 9.opengl-对qt中的QMatrix4x4进行矩阵实践
  6. 转动的太极纯HTML代码
  7. 由递推关系式用差分方程的方法得到通项公式实现求斐波那契数列的第n项;迭代、递归、栈、差分方程之间的本质联系以及由推广的迭代法解决“变态青蛙跳台阶”问题;汉诺塔问题的数字特征以及用递归解决的原理推导。
  8. debian linux 桌面,Debian/Ubuntu使用tasksel安装桌面环境
  9. 超实用工具:获取法定节假日、休息日、周末天数
  10. 无尽的生命 洛谷p2448