辗转相除法(欧几里得)求最大公约数和最小公倍数

来源:互联网 发布:雷电模拟器cpu优化 编辑:程序博客网 时间:2024/05/16 06:14

循环求解:

int gcd(int a, int b){int temp;if (a < b) {                    //a<b时,交换a和btemp = a;a = b;b = temp;}while (b > 0) {temp = a % b;a = b;b = temp;}return a;}

递归求解:

int gcd(int a, int b){if (b == 0)return a;elsereturn gcd(b, a % b);  //如果a<b,第一次执行已经交换过来}

最小公倍数用两个数的乘积除以最大公约数:(a * b) / gcd(a, b)



0 0
原创粉丝点击