PHP-用php怎么求一个方程的根

PHP-用php怎么求一个方程的根

浮生未歇 发布于 2016-10-19 字数 146 浏览 1094 回复 3

网上发现一个数学问题,比如要求的一个一元二次方程的根:7x+5/x=16,求x是多少?我觉的这个以后对于一些web的抽象计算有些用处,所以看各位大侠赐教

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

想挽留 2017-05-31 3 楼

试一试吧,

<?php
function getnum($x,$y,$z)
{
$x=0;
$x=array();
if($x==0)
{
if($y==0)
if($z==0)
{
$x[0]=0;
$x[1]="false";
}
else
{
$x[0]="false";
$x[1]="false";
}
else if($y!=0)
{
$x[0]=(0-$z)/$y;
$x[1]="false";
}
}else{
$flg=$y*$y-4*$x*$z;
if($flg >0)
{
$x[0]=((0-$y)+sqrt($flg))/2/$x;
$x[1]=((0-$y)-sqrt($flg))/2/$x;
}
else if($flg==0)
{
$x[0]=(0-$y)/2/$x;
$x[1]=(0-$y)/2/$x;
}
else
{
$x[0]="false";
$x[1]="false";
}
}
return $x;
}

//测试代码
$num=getnum($x,$y,$z);

?>

泛泛之交 2017-02-04 2 楼

尊重版权,答案来源:PHP如何求一元二次方程的根?

归属感 2017-01-28 1 楼

对于一元二次方程还是很简单的,直接使用求根公式即可:

<?
//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 " <pre>求得根: <br>";
print_r($root);
?>