1011 最大公约数GCD(51NOD基础题)

1011 最大公约数GCD(51NOD基础题)

基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题
 
输入2个正整数A,B,求A与B的最大公约数。
Input
2个数A,B,中间用空格隔开。(1<= A,B <= 10^9)
Output
输出A与B的最大公约数。
Input示例
30 105
Output示例
15
/*
<1> 循环实现 辗转相除法 
<2> 递归实现 辗转相除法 

*/
#include <cstdio>

#define  LL long long 

LL n , m ; 
/* // 循环实现 欧几里得算法(辗转相除法) 
LL GCD ( LL a , LL b){
    while(a%b){
        LL c = a%b ; 
        a = b , b = c ; 
    }
    
    return b ; 
}
*/
// 递归实现 欧几里得算法 (辗转相除法) 
LL GCD (LL a , LL b ){
    if(b == 0 ) return a ; 
    return GCD(b , a%b) ; 
}

int main(){
    while(~scanf("%lld%lld" , &n , &m)){
        LL result = GCD(n , m ) ; 
        printf("%lld
" , result) ; 
    }
    return 0 ; 
}
原文地址:https://www.cnblogs.com/yi-ye-zhi-qiu/p/7553419.html