【每日算法】基础算法——最大公约数(六十)

题目内容

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

输入格式

第一行包含整数n。

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

输出格式

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

数据范围

1≤n≤10^5 ,
1≤ai,bi≤2*10^9

输入样例

2
3 6
4 6

输出样例

3
2

题解

a和b的最大公约数 与 b和a mod b的最大公约数 一致,因此产生以下模板,这个模板记住就好。

代码

#include <iostream>

using namespace std;

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

int main(){
int n;
cin >> n;
while(n--){
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n",gcd(a,b));
}

return 0;
}
Author: Frederic Niu
Link: https://www.fredericniu.cn/2021/01/29/【每日算法】基础算法——最大公约数(六十)/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
我的公众号