辗转相除法求GCD学习

1.基本原理

两个数的最大公约数是指能同时整除它们的最大正整数

基本原理是:两个数的最大公约数等于它们中较小的数和两数之差的最大公约数。

举例:252和105。

https://www.zhihu.com/question/62603177,这个问题下的回答可以看出更相减损术与辗转相除法的原理是相同的!

https://blog.csdn.net/qq_32863631/article/details/70339702,这个讲的原理蛮有意思,可以看懂。

 

C++ 实现:

#include <iostream>
using namespace std;

int GCD(int a,int b){
    if(a<b)swap(a,b);
    return b==0?a:GCD(b,a%b);
}

int main(){
    cout<<GCD(5,10);
   return 0; }

 

posted @ 2020-10-26 22:27  lypbendlf  阅读(152)  评论(0编辑  收藏  举报