當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。