求两个数的最大公约数用穷举法怎么写呀,按初学者最好理解的写

求两个数的最大公约数用穷举法怎么写呀,按初学者最好理解的写

问题描述:

求两个数的最大公约数:
int maxgys(int m,int n)

#include<stdio.h>

int maxgys(int m,int n)
{
    int r = m>n?m:n;
    while(r)
    {
        if(m%r==0 && n%r==0)break;//最大的可以同时整除二者的数,即为最大公约数。
        r--;
    } 
    return r;
}

int main()
{
    int  m,n, c;
    scanf("%d%d", &m, &n);
    c = maxgys(m, n);
    printf("%d", c);
    return 0;
}

#include<stdio.h>
 
int maxgys(int m,int n)
{
    int w,t;
    if(m < n)
    {
        t = m;
        m = n;
        n = t;
    }
    while(n != 0)
    {
       w = m % n;
       m = n;
       n = w;
    }
    return m;

}
 
int main()
{
    int  m,n, c;
    scanf("%d%d", &m, &n);
    c = maxgys(m, n);
    printf("%d", c);
    return 0;
}

可以看看这个