golang 获取最大公约数
package main
import "fmt"
func main(){
//获取12 和 42的最大公约数
var a,b = 42,12
for a != b {
if(a > b) {
a= a-b
}else if a < b {
b = b-a
}
}
fmt.Println("a,b的最大公约数是:", a)
}
采用的算法是中国2000年前的算法,“ 更相减损法 ”,出自《九章算术》
原文: 可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也。以等数约之.