其他分享
首页 > 其他分享> > 获取给定两数间的最大公因数

获取给定两数间的最大公因数

作者:互联网

这次我们不使用PHP内置函数,就利用if判断语句和while循环语句来求给定两个整数间的最大公约数。

实现步骤:有两个变量a,b

第一步:要确保大数放a中、小数放b中。

这就需要使用if语句来判断,如果 a < b,就定义一个中间变量temp,实现 a与b值的交换

if ($a < $b) { //a < b,则交换两个数

    $temp = $a;

    $a = $b;

    $b = $temp;

}

第二步:求 a/b 的余数,值赋给 r

$r = $a % $b;

第三步:判断 余数r 是否为0。

如果 r=0,则上面的b就是最大公约数;如果 r!=0,就需要把b的值赋给a,r的值赋给b,继续求 a/b 的余数,判断 余数r 是否为0。这就需要利用到循环(这里使用while循环):

while ($r != 0) {

        $a = $b;

        $b = $r;

        $r = $a % $b;

    }

第四步:就是输出最大公因数b。

下面看看实现代码:

header("Content-type:text/html;charset=utf-8");

function gcd($a, $b) {

    $a1 = $a;

    $b1 = $b;

    if ($a < $b)//a < b,则交换两个数

    {

        $temp = $a;

        $a = $b;

        $b = $temp;

    }

 

    $r = $a % $b;

    while ($r != 0) {

        $a = $b;

        $b = $r;

        $r = $a % $b;

    }

    echo "数$a1 和$b1 的最大公因数为: $b 

";

}

 

gcd(30, 40);

gcd(12, 16);

gcd(15, 12);

?>

输出结果:

 

 以上就是获取给定两数间的最大公因数的详细内容。(拼多多培训

标签:语句,gcd,temp,数间,while,给定,余数,公因数
来源: https://www.cnblogs.com/qilunpdd/p/15140840.html