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

打赏 赞(1)
微信
支付宝
微信二维码图片

微信扫描二维码打赏

支付宝二维码图片

支付宝扫描二维码打赏

发表评论

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

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