【数学】欧几里得(辗转相除)的证明
证明: gcd (a,b) == gcd (b,a%b)
yu = a % b = a - kb (k 为 a/b 向下取整)
假设最大公约数为d,上式同时除以 d
yu / d = a / d + kb / d
等号左侧为整数 ,同样右侧也是整数 ,证明yu 也能被d 整除
整体递归过程: gcd(a,b) == gcd(b,a%b)
边界条件: 当本次函数的b == 0时,说明上次函数的a%b == 0 , 则b位a,b的最大公约数
int gcd(int a,int b)
{
if (b == 0) return a;
else
{
gcd(b,a%b);
}
}