872. 最大公约数gcd(辗转相除)

872. 最大公约数

辗转相除(又叫欧几里得算法)


辗转相除的原理:
d|a, d|b --> d | ax+by
(a, b) = (b, a-c*b) = (b, a%b)

边界:(a,0)=a

#include
using namespace std;

int gcd(int a,int b){
    return b?gcd(b,a%b):a;
}

int main(){
    int n;
    scanf("%d",&n);
    while(n--){
        int a,b;
        scanf("%d%d",&a,&b);
        cout<

你可能感兴趣的:(872. 最大公约数gcd(辗转相除))