在 Go 语言中,可以使用扩展欧几里得算法来实现求模逆(也称为模反元素)的算法。给定两个整数 a 和 m,模逆是一个整数 x,使得 (a * x) % m = 1。模逆存在当且仅当 a 和 m 互质(即它们的最大公约数为 1)。
下面是完整的 Go 语言代码,用于实现求模逆的算法:
package main
import (
"fmt"
)
// Extended Euclidean Algorithm
// It returns gcd(a, b), x, y such that ax + by = gcd(a, b)
func extendedGCD(