一元二次方程

求一元二次方程的根

六眼飞鱼酱① 提交于 2020-03-17 01:22:27
002:求一元二次方程的根 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 利用公式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位,数字、符号之间没有空格。 样例输入 样例输入1 1.0 2.0 8.0 样例输入2 1 0 1 样例输出 样例输出1 x1=-1.00000+2.64575i;x2=-1.00000-2.64575i 样例输出2 x1=0.00000+1.00000i

python练习题1-一元二次方程解

 ̄綄美尐妖づ 提交于 2020-03-01 14:21:30
一元二次方程: $ ax^2 + bx + c = 0 $ 的解 import math def f(a, b, c): if not isinstance(a, (int, float)): raise TypeError("a不是数值型") if not isinstance(b, (int, float)): raise TypeError("b不是数值型") if not isinstance(c, (int, float)): raise TypeError("c不是数值型") d = b**2 - 4 *a * c if a == 0: if b == 0: if c == 0: return '方程根为全体实数' else: return '方程无根' else: x1 = -c / b return x1 else: if d < 0: return '方程无根' else: x1 = (-b + math.sqrt(d)) / 2 / a x2 = (-b - math.sqrt(d)) / 2 / a return x1,x2 测试 f(1, 3, 2) (-1.0, -2.0) f(1, 1, 1) '方程无根' f(0, 1, 2) -2.0 f(0, 0, 3) '方程无根' f(0, 0, 0) '方程根为全体实数' f('a','b','c')

002:求一元二次方程的根

左心房为你撑大大i 提交于 2020-02-19 09:12:52
总时间限制: 1000ms 内存限制: 65536kB 描述 利用公式x1 = (-b + sqrt(b*b-4*a*c))/(2*a), x2 = (-b - sqrt(b*b-4*a*c))/(2*a)求一元二次方程ax 2 + bx + c =0的根,其中a不等于0。 输入 输入一行,包含三个浮点数a, b, c(它们之间以一个空格分开),分别表示方程ax 2 + bx + c =0的系数。 输出 输出一行,表示方程的解。 若b 2 = 4 * a * c,则两个实根相等,则输出形式为:x1=x2=...。 若b 2 > 4 * a * c,则两个实根不等,则输出形式为:x1=...;x2 = ...,其中x1>x2。 若b 2 < 4 * a * c,则有两个虚根,则输出:x1=实部+虚部i; x2=实部-虚部i,即x1的虚部系数大于等于x2的虚部系数,实部为0时不可省略。实部 = -b / (2*a), 虚部 = sqrt(4*a*c-b*b) / (2*a) 所有实数部分要求精确到小数点后5位,数字、符号之间没有空格。 样例输入 样例输入1 1.0 2.0 8.0 样例输入2 1 0 1 样例输出 样例输出1 x1=-1.00000+2.64575i;x2=-1.00000-2.64575i 样例输出2 x1=0.00000+1.00000i;x2=0.00000-1

20:求一元二次方程的根

浪子不回头ぞ 提交于 2020-02-13 17:19:51
感想:这道题是基础题,但是提交后发现在openjudge中只能得到一部分分数,原因就在于少了一句代码。完整源代码贴在下面。这句代码在题目中有对应的一句话,所以审题很重要。 描述 利用公式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位,数字、符号之间没有空格。 #include<cstdio> #include<iostream> #include<cmath> using namespace std;

一元二次方程全解

*爱你&永不变心* 提交于 2020-02-11 14:35:13
问题描述: 有一方程ax^2+ bx+c=0,a,b,c的值由键盘输入,请编程序,打印出以下情况时方程的解。 (1) a=0,b≠0时,解为-c/b (2) a=0,b=0,c=0,解为任意值 (3) a=0,b=0,c≠0,无解 (4) a≠0,b^2-4ac20, 有两个实根 (5) a≠0,b^2 4acs0,有两个虚根 # include <stdio.h> # include <math.h> int main ( ) { float a , b , c , x , k , x1 , x2 ; scanf ( "%f %f %f" , & a , & b , & c ) ; if ( a == 0 ) { if ( b != 0 ) { x = - c / b ; printf ( "%f" , x ) ; } else { if ( c == 0 ) { printf ( "解为任意值" ) ; } else { printf ( "无解" ) ; } } } else { k = b * b - 4 * a * c ; if ( k >= 0 ) { x1 = ( - b + sqrt ( b * b - 4 * a * c ) ) / ( 2 * a ) ; x2 = ( - b - sqrt ( b * b - 4 * a * c ) ) / ( 2 * a )

java中根据一元二次方程ax^2+bx+c=0ax 2 +bx+c=0的求根公式 计算出一元二次方程的两个解:

送分小仙女□ 提交于 2020-02-08 16:03:15
package com.itranswarp.learnjava; /** * 求解 一元二次方程ax^2+bx+c=0 */ public class Main { public static void main(String[] args) { // x*x + 3*x - 4 = 0 double a = 1.0; double b = 3.0; double c = -4.0; // 求平方根可用 Math.sqrt(): // double x = Math.sqrt(2)); // ==> 1.414 // TODO: double r1 = 0; double r2 = 0; r1=(-b+Math.sqrt(b*b-4*a*c))/2*a; r2=(-b-Math.sqrt(b*b-4*a*c))/2*a; System.out.println(r1 + ", " + r2); System.out.println(r1 == 1 && r2 == -4 ? "测试通过" : "测试失败"); } } 来源: https://www.cnblogs.com/zyz322/p/12283512.html

求解一元二次方程组

陌路散爱 提交于 2020-02-03 17:52:02
首先判断是否满足构成一元二次方程组的条件,其次判断是实根还是虚根,最后求出根的大小。 #include<stdio.h> #include<math.h> int main() { float a, b, c; float i, j; float root1, root2; float t; printf("Please input the coefficient of the equation:\n"); scanf("%f %f %f", &a, &b, &c); t = b*b-4*a*c; if(a==0) { printf("Not a system of quadratic equation!\n"); return 0; } if(t == 0 || t > 0) { if(t == 0) { root1 = -b / (2*a); root2 = root1; printf("root1 = root2 = %f\n", root1); } else { root1 = (-b+sqrt(t)) / (2*a); root2 = (-b-sqrt(t)) / (2*a); printf("root1 = %f \n", root1); printf("root2 = %f \n", root2); } } else { i = -b/(2*a); j = sqrt(

求一元二次方程的解

家住魔仙堡 提交于 2020-01-24 19:15:44
#include "stdio.h" #include "math.h" void main() { double a,b,c,x1,x2,p,q,dis; printf("输入abc的值\n"); scanf("a=%lf b=%lf c=%lf",&a,&b,&c); dis=sqrt(b*b-4*a*c); p=-b/(2*a); q=dis/(2*a); x1=p+q; x2=p-q; printf("一元二次方程的解为:\n"); printf("x1=%5.2lf\nx2=%5.2lf\n",x1,x2); } 来源: https://www.cnblogs.com/zyz322/p/12232466.html

复习下一元二次方程的解法(初中)

丶灬走出姿态 提交于 2020-01-20 03:31:55
《概率论》1.2第5题如是: 看到这个题,也是没有思路,数学都忘光了。并且,这些都是初中的内容。 从题目应该可以看出是,一个一元二次方程求解的问题,但如何解呢? 首先明白什么是实根与重根? 单根是指特征方程只有一个单实根,即只有一个实数解. 重根是指特征方程的解中有相等的根,那么相等的根就称为方程的一个重根. 这些都是微积分里面概念。 两种解法: 根据一元二次方程根与系数的关系(即 韦达定理 ),我们可以求方程的根,也可以求一些对称式的值,在求值时尽量将所求的式子转化成反由x1+X2项,X1X2项和常数项组成的式子,然后由定理代入求值即可。 因式分解法的理论依据是:若两个因式的乘积等于0,那么这两个因式中至少有一个等于0,即:若ab=0,则a=0或b=0。 ① 提取公因式法 ② 公式法,主要公式有: ③十字相乘法 十字相乘法简单来讲要满足三个条件: a十字左边上下两数相乘等于二次项系数; b十字右边上下两数相乘等于常数项; c十字交叉相乘再相加的和等于一次项系数。 满足以上三个条件的二次三项式可通过十字相乘法因式分解。 如: 来源: CSDN 作者: guangod 链接: https://blog.csdn.net/guangod/article/details/104040771

一本通1058:求一元二次方程

▼魔方 西西 提交于 2020-01-18 16:02:09
今天在刷题时发现了一个题(见一本通题库1058),有同学在群中问,题目不难,只要有初中知识就可解决。下面是题目: 1058:求一元二次方程 看到这道题,芳源心想 “好一道水题” 就简单的做了一遍(下见代码 ): 1 #include <iostream> 2 #include <cstdio> 3 #include <cmath> 4 using namespace std; 5 int main() 6 { 7 double a,b,c; 8 double t; 9 cin>>a>>b>>c; 10 t=sqrt(b*b-4*a*c); 11 double x1=((t-b)/(2*a)),x2=((-t-b)/(2*a)); 12 if(t>=0) 13 { 14 if(t=0) 15 printf("x1=x2=%.5lf",x1); 16 else 17 {if(x1>x2) 18 printf("x1=%.5lf;x2=%.5lf",x2,x1); 19 if(x1<x2) 20 printf("x1=%.5lf;x2=%.5lf",x1,x2); 21 } 22 } 23 else cout<<"No answer!"; 24 return 0; 25 } 结果。。。。。 woc!无情!!! 我转念一想,这题可能没那么简单,于是。。。 我对它 大~幅~修~改~ 1