online_judge_1056

#include <stdio.h>

int main()
{
    int m,n;
    int a,b,r;
    while(scanf("%d%d",&m,&n)!=EOF)
    {
        if(m<1||n<1)
            continue;
        a=(m>n)?m:n;
        b=(m<=n)?m:n;
        r=a%b;
        while(r)
        {
            a=b;
            b=r;
            r=a%b;
        }
        printf("%d\n",b);
    }
    return 0;
}
求最大公约数这种算法比较高效,但是不好理解。还可以用循环穷举求解,效率偏低。
posted on 2015-01-18 23:58  赛亚人  阅读(83)  评论(0)    收藏  举报