码迷,mamicode.com
首页 > 其他好文 > 详细

辗转相除法的总结

时间:2019-04-20 21:05:40      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:根据   bsp   证明   最大   gcd   include   int   ret   str   

在cs中gcd的应用很广      一般可以求两个数的最大公约数

#include<iostream>
#include<cstdio>
using namespace std;
int gcd(int a,int b)
{
    if(a==0)
    return 0;
    else
    return (b==0)?a:gcd(b,a%b);
}
int main()
{
    int a,b;
    cin>>a>>b; 
    cout<<gcd(a,b)<<endl;
    return 0;
}

证明:

观察上述可知只需证明gcd(a,b)==gcd(b,a%b)

设a=qb+r      r=a-qb

设d 为a b 的公因子   d|a     d|b

可得d也为b  r的公因子  (根据同余满足 + - *)

得证

不过还有一个拓展gcd  以后在来补坑

辗转相除法的总结

标签:根据   bsp   证明   最大   gcd   include   int   ret   str   

原文地址:https://www.cnblogs.com/liuzhaojun/p/10742528.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!