说明:
最初跟鹏哥学习最大公约数的算法是辗转相除,确实印象很深刻,那种辗转赋值的思想在好多题目中都有运用,但随着进一步学习,我也参考了其他几种方便快捷的最大公约数求法,在这里做一个总结。
11. 2int gcd(int a,int b) ///基础 辗转 3{ 4 int r; 5 while(b>0) 6 { 7 r=a%b; 8 a=b; 9 b=r; 10 } 11 return a; 12} 13 14 152. 16int gcd(int a,int b)///位运算 17{ 18 while(b^=a^=b^=a%=b); 19 return a; 20} 21 22 233.int gcd(int a,int b)///递归调用{ if(b==0) { return a; } gcd(b,a%b);}4. 24#include<algorithm>///直接使用c++的内置函数 25using namespace std; 26__gcd(int a,int b)