欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

学习历程-GCD(辗转赋值)

程序员文章站 2022-06-01 09:53:44
...

以求最大公约数为例。
循环写法

#include<stdio.h>
int main()
{
    int a,b,t;
    scanf("%d,%d",&a,&b);
    while(b)
    {
        t=a;
        a=b;
        b=t%b;
    }
    printf("%d",a);
    return 0;
}

a为最终的最大公约数。
递归写法

#include<stdio.h>
int GCD(int a,int b)
{
    if(b==0)
        return a;
    return GCD(b,a%b);
}
int main()
{
    int a,b,t;
    scanf("%d,%d",&a,&b);
    while(b)
    {
        t=a;
        a=b;
        b=t%b;
    }
    printf("%d",a);
    return 0;
}

相关标签: 学习记录