求开3次方公式

急求开3次方公式! 能用Free Pascal写出的。急!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

计算a开n次方的PASCAL语句是:
exp(ln(a)/n);
这是个函数。。。
注意它的返回值要用浮点数存。。
如果你用整形存注意要trunc一下,或者round

例如输出27开3次方,就是
writeln(exp(ln(27)/3))

输出结果为3

这个是由换底公式得出的。。
推导过程我就不多说了。
所以,学编程一定要学好数学。。。。。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-28
(a b)三次方=a^3b^3 (a+b)三次方=(a+b)³=a³+3a²b+3ab²+b³ (a-b)^3=a^3-3a^2b+3ab^2-b^3
一元三次方程的求根公式称为“卡尔丹诺公式”
一元三次方程的一般形式是
x3+sx2+tx+u=0
如果作一个横坐标平移y=x+s/3,那么我们就可以把方程的二次项消
去.所以我们只要考虑形如
x3=px+q
的三次方程.
假设方程的解x可以写成x=a-b的形式,这里a和b是待定的参数.
代入方程,我们就有
a3-3a2b+3ab2-b3=p(a-b)+q
整理得到
a3-b3 =(a-b)(p+3ab)+q
由二次方程理论可知,一定可以适当选取a和b,使得在x=a-b的同时,
3ab+p=0.这样上式就成为
a3-b3=q
两边各乘以27a3,就得到
27a6-27a3b3=27qa3
由p=-3ab可知
27a6 + p = 27qa3
这是一个关于a3的二次方程,所以可以解得a.进而可解出b和根x.
除了求根公式和因式分解外还可以用图象法解,中值定理.很多高次方程是无法求得精确解的,对于这类方程,可以使用二分法,切线法,求得任意精度的近似解.参见同济四版的高等数学.
一元三次方程的求根公式用通常的演绎思维是作不出来的,用类似解一元二次方程的求根公式的配方法只能将型如ax^3+bx^2+cx+d+0的标准型一元三次方程形式化为x^3+px+q=0的特殊型.
一元三次方程的求解公式的解法只能用归纳思维得到,即根据一元一次方程、一元二次方程及特殊的高次方程的求根公式的形式归纳出一元三次方程的求根公式的形式.我归纳出来的形如 x^3+px+q=0的一元三次方程的求根公式的形式应该为x=A^(1/3)+B^(1/3)型,即为两个开立方之和.归纳出了一元三次方程求根公式的形式,下一步的工作就是求出开立方里面的内容,也就是用p和q表示A和B.方法如下:
(1)将x=A^(1/3)+B^(1/3)两边同时立方可以得到
(2)x^3=(A+B)+3(AB)^(1/3)(A^(1/3)+B^(1/3))
(3)由于x=A^(1/3)+B^(1/3),所以(2)可化为
x^3=(A+B)+3(AB)^(1/3)x,移项可得
(4)x^3-3(AB)^(1/3)x-(A+B)=0,和一元三次方程和特殊型x^3+px+q=0作比较,可知
(5)-3(AB)^(1/3)=p,-(A+B)=q,化简得
(6)A+B=-q,AB=-(p/3)^3
(7)这样其实就将一元三次方程的求根公式化为了一元二次方程的求根公式问题,因为A和B可以看作是一元二次方程的两个根,而(6)则是关于形如ay^2+by+c=0的一元二次方程两个根的韦达定理,即
(8)y1+y2=-(b/a),y1*y2=c/a
(9)对比(6)和(8),可令A=y1,B=y2,q=b/a,-(p/3)^3=c/a
(10)由于型为ay^2+by+c=0的一元二次方程求根公式为
y1=-(b+(b^2-4ac)^(1/2))/(2a)
y2=-(b-(b^2-4ac)^(1/2))/(2a)
可化为
(11)y1=-(b/2a)-((b/2a)^2-(c/a))^(1/2)
y2=-(b/2a)+((b/2a)^2-(c/a))^(1/2)
将(9)中的A=y1,B=y2,q=b/a,-(p/3)^3=c/a代入(11)可得
(12)A=-(q/2)-((q/2)^2+(p/3)^3)^(1/2)
B=-(q/2)+((q/2)^2+(p/3)^3)^(1/2)
(13)将A,B代入x=A^(1/3)+B^(1/3)得
(14)x=(-(q/2)-((q/2)^2+(p/3)^3)^(1/2))^(1/3)+(-(q/2)+((q/2)^2+(p/3)^3)^(1/2))^(1/3)
第2个回答  2010-05-06
var i,j,n:integer;
begin
readln(n);
for i:=0 to n do //正数
begin
if i*i*i=n then
begin
x:=i;
break;
end;
end;
for i:=0 downto n do //负数
begin
if i*i*i=n then
begin
x:=i;
break;
end;
end;
end;
相似回答