一元二次方程

一元二次方程组

最后都变了- 提交于 2020-01-12 09:38:12
11、定义一个函数 “quadratic(a,b,c)”,接收三个参数,返回一元二次方程: ax² + bx + c = 0 的两个解。(提示:计算平方根可以调用math.sqrt()函数) 以下是我写的代码 import math def quadratic ( a , b , c ) : if type ( a ) == float or type ( a ) == int and type ( b ) == float or type ( b ) == int and type ( c ) == float or type ( c ) == int : z = b ** 2 - 4 * a * c if a == 0 : x = - c / b print ( "此方程的解为:" , x ) if z == 0 : x = - b / 2 * a print ( "此方程的解为:" , x ) if z > 0 : t = float ( math . sqrt ( z ) ) x = ( ( - b ) - t ) / 2 * a y = ( ( - b ) + t ) / 2 * a print ( "此方程的解为:" , x , "和" , y ) else : print ( "该方程无解" ) else : print ( "请输入合法的字符!" )

42_一元二次方程

强颜欢笑 提交于 2020-01-10 04:12:50
解一元二次方程ax2+bx+c=0的解。题目保证有两个不同的解。 Input: a,b,c的值。 Output: 两个根X1和X2,其中X1>=X2。。 结果保留两位小数。 Sample Input: 1 5 -2 Sample Output: 0.37 -5.37 **************************************************************************** #include<stdio.h> #include<math.h> int main() { double a,b,c; scanf("%lf %lf %lf",&a,&b,&c); double x1 =( (-b) + sqrt(b * b - 4 * a * c) ) / ( 2 * a ); double x2 =( (-b) - sqrt(b * b - 4 * a * c) ) / ( 2 * a ); printf("%.2lf %.2lf",x1,x2); return 0; } *************************************************************************** 来源: CSDN 作者: 徐文小涛涛 链接: https://blog.csdn.net/qq_41440031

一元二次方程解法最新研究成果,秒算任何方程

。_饼干妹妹 提交于 2019-12-10 20:13:08
一元二次方程解法 一元二次方程定义: a x 2 + b x + c = 0 ( a , b , c ∈ R , 且 a ≠ 0 ) ax^2+bx+c=0 (a,b,c \in R,且 a \not= 0) a x 2 + b x + c = 0 ( a , b , c ∈ R , 且 a  ​ = 0 ) 韦达定理 方程两个根 x 1 , x 2 x_1,x_2 x 1 ​ , x 2 ​ 有以下性质: x 1 + x 2 = − b a x_1+x_2=-\frac{b}{a} x 1 ​ + x 2 ​ = − a b ​ x 1 x 2 = c a x_1 x_2=\frac{c}{a} x 1 ​ x 2 ​ = a c ​ 通用解法 求根公式: x 1 , 2 = − b ± b 2 − 4 a c 2 a x_{1,2}=\frac{-b\pm\sqrt{b^2-4ac}}{2a} x 1 , 2 ​ = 2 a − b ± b 2 − 4 a c ​ ​ 十字交叉法 将二元一次方程转化为: ( x − A ) ( x − B ) = 0 (x-A)(x-B)=0 ( x − A ) ( x − B ) = 0 的形式,则两个根为: x 1 = A x_1=A x 1 ​ = A x 2 = B x_2=B x 2 ​ = B 例子 x 2 − 7 x + 12

Problem : 一元二次方程类

匿名 (未验证) 提交于 2019-12-03 00:20:01
Problem B: 一元二次方程类 128 MB 1026 [ Submit ][ Status ][ Web Board ] Description 定义一个表示一元二次方程的类Equation,该类至少具有以下3个数据成员:a、b和c,用于表示方程“a*x*x + b*x +c = 0”。同时,该类还至少具有以下两个成员函数: 1. void solve():用于求方程的根。 2. void printRoot():用于输出方程的根。 设定: 1. 所有输入的a、b、c所生成的方程必定有个2个不同的实根。 2. 输出的两个根按照从大到小的顺序输出,两个根之间用一个空格隔开,而且每个根必须且仅能保留2位小数,即使小数部分为0。 3. 请根据样例和给出的main()函数定义相应的构造函数。 Input 输入有若干行,每行有3个实数,分别为方程“a*x*x + b*x + c = 0”中的系数a、b、c。 Output 按照题目要求中的设定条件2输出方程的根。 Sample Input 1 3 2 Sample Output -1.00 -2.00 HINT 可以使用fixed和setprecision()来实现输出固定小数位数的数值。 Append Code append.cc , #include<iostream> #include<math.h> #include

自定义函数求一元二次方程(C语言版)

匿名 (未验证) 提交于 2019-12-02 23:36:01
注意点: 输出的格式,多少位后小数。 scanf后要记得加& <0的情况要记得分类 题目描述 求方程 的根,用三个函数分别求当b^2-4ac大于0、等于0、和小于0时的根,并输出结果。从主函数输入a、b、c的值。 输入 a b c 输出 x1=? x2=? 样例输入 4 1 1 样例输出 x1=-0.125+0.484i x2=-0.125-0.484i 都很简单: #include<stdio.h> #include<math.h> void sum(double a , double b, double c) { double x1,x2,diao,l1,l2; diao=b*b-4*a*c; if(diao>0) { x1=(((-1)*b+sqrt(diao))/(2*a)); x2=(((-1)*b-sqrt(diao))/(2*a)); printf("x1=%.3lf x2=%.3lf",x1,x2); } else if(diao==0) { x1=((-1)*b)/(2*a); x2=x1; printf("x1=%.3lf x2=%.3lf",x1,x2); } else if(diao<0) { x1=((-1)*b)/(2*a); diao=(-1)*diao; l1=sqrt(diao)/(2*a); l2=(-1)*(sqrt(diao)/(2*a));

C 语言实例 - 一元二次方程

僤鯓⒐⒋嵵緔 提交于 2019-12-02 15:16:24
求一元二次方程:ax2+bx+c=0 的根。 输入三个实数a,b,c的值,且a不等于0。 实例 #include <stdio.h> #include <math.h> int main() { float a,b,c,x1,x2,d; printf("输入方程的三个系数:"); scanf("%f %f %f",&a,&b,&c); if(a!=0) { d=sqrt(b*b-4*a*c); x1=(-b+d)/(2*a); x2=(-b-d)/(2*a); if(x1<x2) printf("%0.2f %0.2f\n",x2,x1); else printf("%0.2f %0.2f\n",x1,x2); } return 0; } 运行结果: 输入方程的三个系数:1 2 1 -1.00 -1.00 来源: https://www.cnblogs.com/HGNET/p/11751587.html

python 练习题:定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程ax^2+bx+c=0的两个解

无人久伴 提交于 2019-12-02 02:05:12
请定义一个函数 quadratic(a, b, c) ,接收3个参数,返回一元二次方程 ax^2+bx+c=0 的两个解。 提示: 一元二次方程的求根公式为: x1 = (-b + math.sqrt((b * b) - (4 * a * c))) / (2 * a)x2 = (-b - math.sqrt((b * b) - (4 * a * c))) / (2 * a) 计算平方根可以调用 math.sqrt() 函数 # -*- coding: utf-8 -*- # 请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程 ax^2+bx+c=0的两个解 import math def quadratic(a,b,c): x1 = (-b + math.sqrt((b * b) - (4 * a * c))) / (2 * a) x2 = (-b - math.sqrt((b * b) - (4 * a * c))) / (2 * a) return x1,x2 print('quadratic(2,3,1) = ' , quadratic(2,3,1)) print('quadratic(1,3,-4) = ' , quadratic(1,3,-4)) if quadratic(2,3,1) != (-0.5, -1.0): print(

定义一元二次方程求根函数

故事扮演 提交于 2019-11-29 12:04:22
#include<stdio.h> #include<math.h> //定义一元二次方程求根函数函数 void qiugen(float a,float b,float c){ float x,y; if(b*b<4*a*c) printf("该方程没有实根"); else if(b*b==4*a*c){ x=-b/(2*a); printf("该方程有一个根%f",x); } else { x=(-b+sqrt(b*b-4*a*c))/(a*2); y=(-b-sqrt(b*b-4*a*c))/(a*2); printf("该函数有两个根,分别是:%f和%f",x,y); } return 0; } //验证 int main() { float a,b,c; while(1){ printf("\n请输入a,b,c的值:\n"); scanf("%f",&a); scanf("%f",&b); scanf("%f",&c); qiugen(a,b,c); } return 0; } 来源: https://www.cnblogs.com/gougouwang/p/11517266.html

C一元二次方程求解

走远了吗. 提交于 2019-11-29 05:04:06
#include<stdio.h> #include<stdlib.h> #include<math.h> int main() { // putchar输出字符,getchar输入字符, printf格式输出,scanf格式输入, puts输出字符串, gets输入字符串 // 一元二次方程求解 float a, b, c; printf("Input a ,b , c :"); scanf("%f %f %f", &a, &b, &c); if (fabs(a) <= 1e-15) //条件:当|a|<0 时 可以改成<=EPS { //1e-15 表示一个极小的数 浮点型零就是一个近似值 printf("不是一元二次方程"); printf("x = %.2f", c / b); exit(0); //执行到此处 程序返回0 并退出 } else { float disc, p, q, x1, x2; disc = b * b - 4 * a * c; p = -b / (2 * a); q = sqrt(fabs(disc)) / (2 * a); if (fabs(disc) <= 1e-15) { printf("x1 = x2 = %.2f", p); } else if (disc > 1e-15) { printf("x1 = %.2f, x2 = %.2f",

P1619 解一元二次方程的烦恼题解

為{幸葍}努か 提交于 2019-11-28 01:25:20
传送门: P1619 这道题题面比较长,但是作为一道模拟题还是又短又简单的 你看看隔壁猪国杀蚂蚁 。它的处理过程大致分为以下几步: 1.输入字符串,提取数字 2.质性判断 3.大小判断 4.分解质因数 5.返回第一步 明确了模拟过程后,我们开始逐一分析每步应该做的事情。 过程一:输入字符串,提取数字。 提取数字其实并不是什么难事,只需要将快速读入的代码改造一下就可以在这里使用 不会快速读入?请左转百度 。需要注意的是,平常的快速读入是逐字符进行读入,但在这里由于行内存在空格,建议直接读入一整行。具体细节见下代码。 puts("Enter the number=");//题目中虽然说要先读入在换行,但是实测这里直接puts没有任何问题,应该是洛谷评测的一个feature。 n = 0;//用来存储输入的数字 string a; getline(cin, a); //这里不建议使用字符数组,因为scanf遇到空格会停止,而且gets已经spfa了(雾) for (int i = 0; i < a.size(); i++){//遍历字符串 if (a[i] >= '0' && a[i] <= '9'){//如果这一位是数字,就存起来 n *= 10; n += a[i] - '0'; } } 过程二:质性判断 这里直接对 n 的质性进行判断即可。不会判断质数请右转 P3383线性筛素数