当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Elixir Integer.extended_gcd用法及代码示例


Elixir语言中 Integer.extended_gcd 相关用法介绍如下。

用法:

extended_gcd(a, b)
(自 1.12.0 起)
@spec extended_gcd(integer(), integer()) :: {non_neg_integer(), integer(), integer()}

返回两个给定整数的扩展最大公约数。

此函数使用扩展欧几里得算法返回一个 three-element 元组,该元组具有 gcd 以及 Bézout 恒等式的系数 mn,使得:

gcd(a, b) = m*a + n*b

按照惯例, extended_gcd(0, 0) 返回 {0, 0, 0}

例子

iex> Integer.extended_gcd(240, 46)
{2, -9, 47}
iex> Integer.extended_gcd(46, 240)
{2, 47, -9}
iex> Integer.extended_gcd(-46, 240)
{2, -47, -9}
iex> Integer.extended_gcd(-46, -240)
{2, -47, 9}

iex> Integer.extended_gcd(14, 21)
{7, -1, 1}

iex> Integer.extended_gcd(10, 0)
{10, 1, 0}
iex> Integer.extended_gcd(0, 10)
{10, 0, 1}
iex> Integer.extended_gcd(0, 0)
{0, 0, 0}

相关用法


注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 Integer.extended_gcd(a, b)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。