
gcd算法需要注意两件事情
1.算法的正确性。
答:证明如上
2.算法的终止条件的证明(为什么终止条件一定是b==0?)
答:

也可以这么理解:对于两个数字a,b,他们的最大公因子要么是1 (互素),要么大于1,因为余数是越来越小的,所以如果最后a%b == 0 ,那么直接return a%b即可,如果不是,因为这两个数字是固定的,所以最后a%b一定可以到 1(因为余数一定是最大公因数的倍数),
此时这个就变成了gcd(c,c-1)即为1
所以得证
本文探讨了计算最大公因子(GCD)的算法,重点在于算法的正确性和终止条件的证明。算法正确性通过数学逻辑进行阐述,而终止条件的证明基于余数递减原理,指出当a%b等于0时返回b为GCD,否则最终会递归至gcd(c,c-1),即1,确保了算法的终止。

gcd算法需要注意两件事情
1.算法的正确性。
答:证明如上
2.算法的终止条件的证明(为什么终止条件一定是b==0?)
答:

也可以这么理解:对于两个数字a,b,他们的最大公因子要么是1 (互素),要么大于1,因为余数是越来越小的,所以如果最后a%b == 0 ,那么直接return a%b即可,如果不是,因为这两个数字是固定的,所以最后a%b一定可以到 1(因为余数一定是最大公因数的倍数),
此时这个就变成了gcd(c,c-1)即为1
所以得证

被折叠的 条评论
为什么被折叠?