您的位置:

最大公约数计算器

一、最大公约数计算器在线网页

随着互联网的普及,我们现在可以通过在线网页来进行最大公约数的计算,不需要下载和安装软件。

例如,我们可以在 豆瓣 上找到一个简易的最大公约数在线计算器。只需要输入两个整数,点击计算,就可以得到它们的最大公约数。


<form method="post">
请输入两个整数:
<input type="text" name="num1">
<input type="text" name="num2">
<input type="submit" value="计算">
</form>

<?php
if ($_POST) {
  $num1 = $_POST['num1'];
  $num2 = $_POST['num2'];
  echo "最大公约数是:" . gongyueshu($num1, $num2);
}

function gongyueshu($a, $b) {
  while ($b != 0) {
    $temp = $b;
    $b = $a % $b;
    $a = $temp;
  }
  return $a;
}
?>

上面这段代码使用了 PHP 语言编写,通过 POST 方法接收用户输入的两个整数,然后调用 gongyueshu 函数来求它们的最大公约数。这段代码简单明了,易于理解,是一个很好的最大公约数在线计算器的示例。

二、最大公约数计算方法和公式

计算最大公约数的方法比较常见的有辗转相除法和更相减损术。

辗转相除法是基于这样一个事实:如果两个正整数的差是 d,则前一个数和 d 的最大公约数就是这两个数的最大公约数。


function gongyueshu($a, $b) {
  while ($b != 0) {
    $temp = $b;
    $b = $a % $b;
    $a = $temp;
  }
  return $a;
}

更相减损术则是基于这个事实:如果两个整数都是偶数,则它们的最大公约数也是偶数,而在不断的相减操作中,会越来越靠近这两个数的最大公约数。


function gongyueshu($a, $b) {
  if ($a == $b) {
    return $a;
  }
  if ($a < $b) {
    $temp = $a;
    $a = $b;
    $b = $temp;
  }
  while ($a != $b) {
    $c = $a - $b;
    $a = $b > $c ? $b : $c;
    $b = $b > $c ? $c : $b;
  }
  return $a;
}

三、最大公约数计算器 PHP 代码

以下是一个基于 PHP 语言编写的最大公约数计算器的完整示例代码。


<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>最大公约数计算器</title>
</head>
<body>
  <form method="post">
    <h2>请输入两个整数</h2>
    <input type="text" name="num1"> 与
    <input type="text" name="num2">
    <br><br>
    <input type="submit" value="求最大公约数">
  </form>
  
  <?php 
    if ($_POST) { 
      $num1 = $_POST['num1']; 
      $num2 = $_POST['num2']; 
      echo "<p>".$num1." 和 ".$num2." 的最大公约数是 ".gongyueshu($num1, $num2)."</p>"; 
    } 
    
    function gongyueshu($a, $b) {
      while ($b != 0) {
        $temp = $b;
        $b = $a % $b;
        $a = $temp;
      }
      return $a;
    }
  ?>

</body>
</html>

四、最小公倍数计算器在线

最小公倍数是指两个数公有的倍数中最小的一个,它等于两数之积除以二者的最大公约数。

因此,我们可以在最大公约数计算器的基础上,增加一个函数 gongbeishu 来计算最小公倍数。


function gongbeishu($a, $b) {
  return $a * $b / gongyueshu($a, $b);
}

以上是最小公倍数计算器的核心代码,使用方法与最大公约数计算器类似。

在此不再赘述最小公倍数计算器的完整代码,读者可以自行根据以上示例代码实现它。