【NOI】20 求一元二次方程的根
来源:互联网 发布:阿里巴巴推广软件 编辑:程序博客网 时间:2024/05/10 04:19
描述
利用公式x1 = (-b + sqrt(b*b-4*a*c))/(2*a), x2 = (-b - sqrt(b*b-4*a*c))/(2*a)求一元二次方程ax2+ bx + c =0的根,其中a不等于0。
输入
输入一行,包含三个浮点数a, b, c(它们之间以一个空格分开),分别表示方程ax2 + bx + c =0的系数。
输出
输出一行,表示方程的解。
若b2 = 4 * a * c,则两个实根相等,则输出形式为:x1=x2=…。
若b2 > 4 * a * c,则两个实根不等,则输出形式为:x1=…;x2 = …,其中x1>x2。
若b2 < 4 * a * c,则有两个虚根,则输出:x1=实部+虚部i; x2=实部-虚部i,即x1的虚部系数大于等于x2的虚部系数,实部为0时不可省略。实部 = -b / (2*a), 虚部 = sqrt(4*a*c-b*b) / (2*a)
所有实数部分要求精确到小数点后5位,数字、符号之间没有空格。
-
其实就是套公式
去年能WA4次我也不太清楚自己怎么做到的;)
#include<cstdio>#include<cmath>using namespace std;double a,b,c;int main(){ scanf("%lf%lf%lf",&a,&b,&c); if(b*b==4*a*c) { double x1; x1=(0-b+sqrt(b*b-4*a*c))/(2*a); printf("x1=x2=%.5lf",x1); return 0; } if(b*b>4*a*c) { double x1,x2,s=sqrt(b*b-4*a*c); x1=(0-b+s)/(2*a); x2=(0-b-s)/(2*a); printf("x1=%.5lf;x2=%.5lf",x1,x2); return 0; } if(b*b<4*a*c) { double x1,x2,sb,xb; sb=(0-b)/(2*a); xb=sqrt(4*a*c-b*b)/(2*a); printf("x1=%.5lf+%.5lfi;x2=%.5lf-%.5lfi",sb,xb,sb,xb); return 0; } return 0;}
0 0
- 【NOI】20 求一元二次方程的根
- 20_求一元二次方程的根
- 1.4.20:求一元二次方程的根
- 20:求一元二次方程的根
- 求一元二次方程的根
- 求一元二次方程的根
- 求一元二次方程的根
- 求一元二次方程的根
- 求一元二次方程的根
- 求一元二次方程的根
- 求一元二次方程的根
- 求一元二次方程的根
- 求一元二次方程的根
- 求一元二次方程的根
- 求一元二次方程的根
- 求一元二次方程的根
- 求一元二次方程的根
- 求一元二次方程的根
- 区分Linux:eth0,eth1,eth2,lo
- [IDE][IDEA小技巧系列]Intellij IDEA仿Eclipse 自动生成 SerialVersionUID
- OpenGL ES 2.0 笔记 - 着色语言基础
- windows环境下配置wamp的虚拟域名
- nova boot代码流程分析(三):nova与neutron的plugin交互 (博主博客值得看)
- 【NOI】20 求一元二次方程的根
- 知识记录一:ViewPager+Fragment实现tab
- calling a __host__ function("XXX") from a __global__ function is not allowed
- Java 知识体系总结 -- 不断完善中
- Leetcode 184. Department Highest Salary
- Linux下的权限管理
- yii\helpers\Inflector实现了英语单词处理
- LeetCode 319. Bulb Switcher
- 【设置文件夹隐藏】——间接为文件夹设置密码