php 求根,PHP如何求一元二次方程的根?

今天有人问题一个数学问题,4x+1/x=2,求x是多少。把方程转化一下,4x2 + 1 = 2x,然后4x2 - 2x + 1 =0,其实就是个一元二次方程的问题。好久没弄这些东西了,数学都还高中老师了。还好会写程序,下面用程序求出这个方程的根。

//ax*x bx c=0; 一元二次方程一般形式

//系数设定

$a = 2;

$b = 3;

$c = 0;

echo '一元二次方程为';

echo $a.'x2'.'+'.$b.'x'.'+'.$c;

//求根的函数

function get_root($a,$b,$c)

{

//放根的数组

$x=0;

$x=array();

if($a==0)

{

if($b==0)

if($c==0)

{

$x[0]=0;

$x[1]="no root";

}

else

{

$x[0]="no root";

$x[1]="no root";

}

else if($b!=0)

{

$x[0]=(0-$c)/$b;

$x[1]="no root";

}

}

else

{

//标志

$flg=$b*$b-4*$a*$c;

//△ >0 两个不同的根

if($flg >0)

{

$x[0]=((0-$b)+sqrt($flg))/2/$a;

$x[1]=((0-$b)-sqrt($flg))/2/$a;

}

else if($flg==0)//△=0 两个相同的根

{

$x[0]=(0-$b)/2/$a;

$x[1]=(0-$b)/2/$a;

}

else // 无根

{

$x[0]="no root";

$x[1]="no root";

}

}

return $x;

}

//验证代码 参数为顶部设置的a b c 的值,可自行修改测试

$root=array();

$root=get_root($a,$b,$c);

echo "

求得根: 
";

print_r($root);

echo "

";

?>

程序运行的结果为:

一元二次方程为2x2+3x+0

求得根:

Array

(

[0] => 0

[1] => -1.5

)

回到最初的问题,经程序运算,结果为:

一元二次方程为4x2+-2x+1

求得根:

Array

(

[0] => no root

[1] => no root

)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值