~~欧几里得算法(附模板题)

模板

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

题目

给定n对正整数ai,bi,请你求出每对数的最大公约数。

输入格式

第一行包含整数n。

接下来n行,每行包含一个整数对ai,bi。

输出格式

输出共n行,每行输出一个整数对的最大公约数。

数据范围

1≤n≤105,
1≤ai,bi≤2∗109

输入样例:

2
3 6
4 6

输出样例:

3
2

#include<bits/stdc++.h>
using namespace std;
int n,a,b;

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

int main() {
    cin>>n;
    while(n--) {
        cin>>a>>b;
        cout<<gcd(a,b);
    }
    return 0;
}
发布了164 篇原创文章 · 获赞 440 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_45884316/article/details/105220746