【数学】欧几里得(辗转相除)的证明
证明: 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);
    }
}

                
            
        
浙公网安备 33010602011771号