最大公约数和最小公倍数(gcd)

GCD算法在ACM算法中不是很常见,但是遇上了不会写也不行,我看过递归的gcd算法,感觉数据一大,可能会崩溃,不如循环快,所以总结一个模板:

#include 
#include 
#include 


int gcd(int a, int b)
{
    int r;
    while(b!=0)
    {
        r=b;
        b=a%b;
        a=r;
    }
    return a;
}


int main()
{
    int a,b,m,n;
    printf("请输入两个正整数:\n");
    scanf("%d%d",&a,&b);
    m=gcd(a,b);
    n=a*b/m;
    printf("最大公约数是:%d\n",m);
    printf("最小公倍数是:%d\n",n);
    system("PAUSE");
    return 0;
}




你可能感兴趣的:(模板)