Problem A: 递归的辗转相除法

这道题涉及两个内容  辗转相除法与递归函数

 

Problem A: 递归的辗转相除法

 

我的这个代码是我自己写的,也是初次学习C ,所以只为完成任务.

有在网上看到简单代码,实在看不懂.

这道题由于限制函数名称等,所以必然引导你使用递归函数

不进行文字描述,关于技巧还没有成熟,待我在搞几道题把

 

代码:

 

#include <stdio.h>
 

int digui(int a,int b){
        int r;
        r=a%b;
        if(r==0){
            return b;
        }
        else{
        a=b;
        b=r;
        r=a%b;
        return digui(a,b);
        }


}

int gcd(int a,int b)
{
    if(a<b)
    {
        int temp=a;
        a=b;
        b=temp;

    }
    int w=digui(a,b);

    return w;

}

int lcm(int a,int b)
{

    if(a<b)
    {
        int temp=a;
        a=b;
        b=temp;

    }
    int r=a*b;
    int h=r/gcd(a,b);


}

int main()
{
    int a,b;
    scanf("%d %d",&a,&b);
    printf("%d %d",gcd(a,b),lcm(a,b));


    return 0;
}