golang 获取最大公约数

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年前的算法,“ 更相减损法 ”,出自《九章算术》
原文:  可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也。以等数约之.

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据