go 语言实践:欧几里得算法-求最大公约数
go语言实现欧几里得算法 求2个数的最大公约数 辗转相除法
大数对小数求余
余数不为零时,小数对余数求余
余数为零时,小数就是俩个数的最大公约数
package main
import "fmt"
func divisor(min, max int) (maxDivisor int) {
//用大数对小数取余
complement := max % min
//余数不为零,小数作为大数,将余数作为小数,大数对小数递归求余
if complement != 0 {
maxDivisor = divisor(complement, min)