问题:用递归实现求最大公约数和最小公数的算法
代码如下:
//递归实现求最大公约数
//递归求最大公数
int g(int num1,int num2)
{
int r;
r = num1%num2;
if( r == 0 )//递归结束条件
return num2;
g(num2,r);
}
void main()
{
int num1 = 100, num2 = 16;
int temp;
if( num1 < num2 )
{
temp = num1;
num1 = num2;
num2 = temp;
}
temp = g(num1,num2);
printf("最大公约数为:%d\n",temp);
printf("最小公倍数为:%d\n",(num1*num2)/temp);
}