要求用递归函数编一个程序
求x y的最小公倍数
程序代码:
#include <stdio.h> int LOCK = 0; //加锁 int g_iProduct = 0; //乘积 /* 以下是最大公约数递归 最小公倍数 = 乘积 / 最大公约数 如果非要在这份爱上加一个期限。。。咳咳,非要在递归上实现最小公倍数,那么就要把第一次传入的ab值保存起来 (我能想到的就是定义全局变量Lock,然后在第一次调用之后将锁关闭<主要是为了防止递归的时候影响到乘积的值>, 等到求出公约数再把乘积拿来计算) int divisor(int a, int b) { int c = 0; c = a % b; if(0 == c) { return b; } else { divisor(b, c); } } */ //计算最小公倍数,英语不好,函数名 凑活着看 int calc(int a, int b) { int c = 0; if(0 == LOCK) { LOCK = 1; //第一次,加上锁 g_iProduct = a * b; } c = a % b; if(0 == c) { return (g_iProduct / b); } else { calc(b, c); } } int main(void) { int a = 10; int b = 8; int c = 0; c = calc(a, b); printf("%d\n", c); return 0; } 有什么问题或者有什么好的解决方案,知识共享哈,谢谢