PHP编程求最大公约数与最小公倍数的方法示例

PHP编程求最大公约数与最小公倍数的方法示例

最大公约数

方法一:辗转相除法

辗转相除法,也叫欧几里得算法,是一种快速求两个正整数最大公约数的方法。其基本思想是用较大数除以较小数,再用出现的余数去除除数,不断重复这个过程,直到余数为零为止,此时的除数即为两个数的最大公约数。

示例代码:

function gcd($a, $b)
{
    if ($b == 0) {
        return $a;
    } else {
        return gcd($b, $a % $b);
    }
}

echo gcd(30, 42);  // 输出6

方法二:更相减损法

更相减损法是用来求两个正整数的最大公约数的另一种方法。其基本思想是不断用两数中较大数减去较小数,然后将所得的差与较小数比较,如果相等,则当前较小数即为最大公约数,否则继续执行减操作,直到两个数相等时结束。

示例代码:

function gcd2($a, $b)
{
    while ($a != $b) {
        if ($a > $b) {
            $a -= $b;
        } else {
            $b -= $a;
        }
    }
    return $a;
}

echo gcd2(30, 42);  // 输出6

最小公倍数

方法一:利用最大公约数求解

求两个正整数的最小公倍数,可以通过它们的最大公约数来求解。最小公倍数等于两数之积除以最大公约数。

示例代码:

function lcm($a, $b)
{
    $gcd = gcd($a, $b);
    return $a * $b / $gcd;
}

echo lcm(30, 42);  // 输出210

方法二:穷举法

方法二是一种效率较低的求解方法,它的基本思想是从两数的较大值开始想要得到的最小公倍数是学生概率和两个数的积。

示例代码:

function lcm2($a, $b)
{
    $max = max($a, $b);
    while (true) {
        if ($max % $a == 0 && $max % $b == 0) {
            return $max;
        }
        $max++;
    }
}

echo lcm2(30, 42);  // 输出210

以上是求解最大公约数和最小公倍数的两种方法以及相应的示例代码。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP编程求最大公约数与最小公倍数的方法示例 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • 霸气的qq个性签名 我不是吃货,请叫我食神

    霸气的QQ个性签名攻略 如果你想要创建一份霸气的QQ个性签名,这里提供一些建议和实例,供参考。 步骤1:选取霸气的主题词 在签名中使用霸气的主题词汇将是一个好的开端。你可以考虑以下主题: 天行健,君子以自强不息 我不是吃货,请叫我食神 明日复明日,万事成蹉跎 人生得意须尽欢,莫使金樽空对月 有了一个好的主题,你就可以开始构思你的签名了。 步骤2:考虑字体和格…

    PHP 2023年5月27日
    00
  • php构造函数与析构函数

    下面是关于 PHP 构造函数与析构函数的详细讲解。 什么是构造函数和析构函数? 构造函数和析构函数都是面向对象编程(OOP)中的重要概念。它们是在定义类时可选的方法,分别在对象被实例化时和对象被销毁时被调用。 构造函数的作用是初始化新对象的属性,并在对象被创建时执行。如果一个类没有定义构造函数,默认的构造函数会被使用,但这个构造函数没有任何参数、没有任何行为…

    PHP 2023年5月27日
    00
  • PHP实现无限极分类生成分类树的方法

    以下是「PHP实现无限极分类生成分类树的方法」的完整攻略。 什么是无限极分类 无限极分类是指分类下还可再细分出同级别的子分类,进而无限循环有无限级别的分类。 举个例子来说,假设“商品分类”有如下结构: 服饰 男装 衬衫 单色衬衫 领结衬衫 西装 T恤 女装 连衣裙 花裤子 食品 奶类 水果 苹果 香蕉 以上结构可视为无限极分类。现在需要写 PHP 代码来将这…

    PHP 2023年5月26日
    00
  • PHP中空字符串介绍0、null、empty和false之间的关系

    在PHP中,空字符串指的是一个没有任何字符的字符串。在操作中对于空字符串的处理关系十分重要,因此掌握空字符串与0、null、empty以及false之间的关系是非常必要的。 1. 空字符串与0的关系 在PHP中,空字符串与数字0有着不同的数据类型,并且它们在比较时会被认为是不同的值。下面是一个判断空字符串和0相等的示例: <?php $a = &quo…

    PHP 2023年5月26日
    00
  • php字符串使用详细了解

    PHP字符串使用详细了解 在PHP中,字符串是一种常见的数据类型,用于存储文本数据。本文将详细讲解PHP字符串的使用方法,包括字符串的创建、连接、截取、换、格式化等操作。 创建字符串 在PHP中,可以使用单引号或双引号来创建字符串。单引号字符串中的变量不会被解析,而双号字符串中的变量会被解析。 以下是创建字符串的示例代码: $name = ‘John’; $…

    PHP 2023年5月12日
    00
  • PHP strripos函数用法总结

    当我们需要在一个字符串中找到子字符串的位置时,可以使用PHP中的strripos()函数。该函数可以忽略大小写,返回子字符串在父字符串中最后一次出现的位置。 下面是该函数的语法: strripos ( string $haystack , string $needle [, int $offset = 0 ] ) : int|false 它需要两个必要的参数…

    PHP 2023年5月26日
    00
  • PHP循环语句笔记(foreach,list)

    PHP循环语句笔记 在PHP中,循环语句是常用的流程控制语句,用来重复执行一段代码。其中包括for、while、do-while、foreach等不同类型的循环语句。本文将着重介绍PHP中两种常用的循环语句:foreach和list。 foreach循环 foreach循环通常用于遍历数组,格式为: foreach ($array as $value) { …

    PHP 2023年5月26日
    00
  • PHP中比较两个字符串找出第一个不同字符位置例子

    要比较两个字符串在哪里出现第一个不同字符,可以使用PHP预定义函数 strcmp() 。 strcmp() 函数用于比较两个字符串,字符串可以是变量或者常量,返回值不同表示找到的第一个不同字符的位置也不同。如果相等,则返回 0。 下面是一个使用 strcmp() 比较两个字符串并查找第一个不同字符位置的例子: $str1 = "Hello Worl…

    PHP 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部