韦达定理
在数学中,韦达定理是关于多项式的概念,它将多项式的系数与多项式根的和与积联系起来。韦达定理可以作为学习多项式根之间关系的有用工具,而无需真正知道其数值和方程的系数。本文将重点介绍韦达定理的概念,并尝试使用此公式解决一些问题。
韦达定理
由数学家韦达提出的公式建立了任意多项式根的和与积与其系数之间的关系。由于该公式涉及多项式的根和系数,因此我们可以使用该公式来解决与多项式根之间关系相关的问题,或者使用该公式根据提供的根找到方程。
一般多项式的韦达定理
任何多项式都可以写成:
$$\mathrm{P(x)\:=\:a_{n}x^{n}\:+\:a_{n-1}x^{n-1}\:+\:...\:+a_1x+a_0}$$
假设𝑃(𝑥)是一个根为$f_1,\:f_2,\:.\:.\:.,\:f_n$的多项式。则韦达定理给出如下关系:
$$f_1\:+\:f_2\:+\:.\:.\:.+\:f_n\:=\:-\frac{a_{n-1}}{a_{n}}$$
以及:
$$f_1f_2f_3...f_n\:=\:(-1)^{n}\frac{a_{0}}{a_{n}}$$
二次方程的韦达定理
考虑二次方程 $P(x)\:=\:ax^{2}\:+\:bx\:+\:c$。
假设上述二次方程的根为 $f_1$ 和 $f_2$。
根据韦达定理:
二次方程根的和为 -b/a。
$$f_1\:+\:f_2\:=\:-\frac{b}{a}$$
二次方程根的积为 c/a。
$$f_1f_2\:=\:\frac{c}{a}$$
如果给出二次方程的根的和与积,则它可以表示为:
$$ax^{2}\:+\:bx\:+\:c\:=\:0$$
将整个方程除以 a:
$$x^{2}\:+\:\frac{b}{a}x\:+\:\frac{c}{a}\:=\:0$$
由于 b/a 是 -(方程根的和),c/a 是方程根的积。因此方程可以写成:
$$x^{2}\:-\:(根的和)x\:+\:(根的积)\:=\:0$$
$$x^{2}\:-\:(f_1\:+\:f_2)x\:+\:(f_1f_2)\:=\:0$$
三次方程的韦达定理
考虑三次方程 $P(x)\:=\:ax^{3}\:+\:bx^{2}\:+\:cx\:+\:d$。
假设上述三次方程的根为 $f_1,f_2\:和\:f_3$。
根据韦达定理:
三次方程根的和为 -b/a。
$$f_1\:+\:f_2\:+\:f_3\:=\:-\frac{b}{a}$$
三次方程任意两根乘积的和为 c/a。
$$f_1f_2\:+\:f_1f_3\:+\:f_2f_3\:=\:\frac{c}{a}$$
三次方程根的积为 -d/a。
$$f_1f_2f_3\:=\:-\frac{d}{a}$$
如果给出三次方程根的和、任意两根乘积的和以及根的积,则方程可以表示为:
$$ax^{3}\:+\:bx^{2}\:+\:cx\:+\:d\:=\:0$$
将方程除以 a:
$$x^{3}\:+\:\frac{b}{a}x^{2}\:+\:\frac{c}{a}x\:+\:\frac{d}{a}\:=\:0$$
由于 -b/a 是根的和,c/a 是任意两根乘积的和,-d/a 是根的积,它可以写成:
$$x^{3}\:-\:(根的和)x^{2}\:+\:(任意两根乘积的和)x\:-\:(根的积)\:=\:0$$
让我们来看一些与韦达定理相关的示例问题。
示例
示例-1
在这个例子中,我们将得到二次方程的系数作为输入,即 a、b 和 c,我们需要使用韦达定理找出二次方程的根的和与积。
将二次方程 $(ax^{2}\:+\:bx\:+\:c)$ 的系数 a、b 和 c 作为输入。
我们将初始化一个函数来计算二次方程根的和与积。
使用韦达定理,我们将计算根的和 (-b/a) 和根的积 (c/a)。
打印这些值,这就是我们需要的输出。
以下是 C++ 中该方法的实现:
#include <iostream> #include <bits/stdc++.h> using namespace std; //function to calculate sum and product of roots of quadratic equation void roots(float a,float b,float c){ float sumOfroots=-(b)/a; //calculating sum of products using vieta's formula float productOfroots=c/a; //calculating product of roots using Vieta's formula cout<<"Sum of the roots = "<<sumOfroots<<endl; cout<<"Product of the roots = "<<productOfroots<<endl; } int main(){ //coefficient of quadratic equation which is 2x^2-10x-5=0 (ax^2+bx+c) float a=2; float b=-10; float c=-5; roots(a,b,c); return 0; }
输出
Sum of the roots = 5 Product of the roots = -2.5
时间复杂度:O(1),因为使用了常数时间。
空间复杂度:O(1),因为不需要额外的空间。
示例-2
在这个例子中,我们将得到三次方程的系数作为输入,即 a、b、c 和 d。我们需要使用韦达定理打印出给定三次方程的根的和、任意两根乘积的和以及根的积。
将三次方程 $(ax^{3}\:+\:bx^{2}\:+\:cx\:+\:d)$ 的系数 a、b、c 和 d 作为输入。
初始化一个函数来计算三次方程的根的和、任意两根乘积的和以及根的积。
使用韦达定理,计算所需的值并将其存储在一个变量中。
打印所有值。
以下是 C++ 中该方法的实现:
#include <iostream> #include <bits/stdc++.h> using namespace std; //function to calculate sum of roots, sum of product of two roots and product of roots void roots(float a,float b,float c,float d){ //calculating required values using Vieta's formulas float sumOfroots=-(b)/a; float sumOfproductOfTworoots=c/a; float productOfroots=-d/a; cout<<"Sum of the roots = "<<sumOfroots<<endl; cout<<"Sum of the product of two roots = "<<sumOfproductOfTworoots<<endl; cout<<"Product of two roots = "<<productOfroots<<endl; } int main(){ //a, b, c and d are the coefficients of the cubic equation which can be represented as 2x^3-10x^2-5x+4=0 float a=2; float b=-10; float c=-5; float d=4; roots(a,b,c,d); return 0; }
输出
Sum of the roots = 5 Sum of the product of two roots = -2.5 Product of two roots = -2
时间复杂度:O(1)
空间复杂度:O(1)
结论
在本文中,我们尝试解释了一般多项式、二次方程和三次方程的韦达定理。我们还学习了如何使用 C++ 为任意二次或三次方程计算二次方程根的和与积,以及三次方程根的和、任意两根乘积的和以及根的积。
希望本文能帮助您学习韦达定理的基本概念。