文章目录
- Question
- Ideas
- Code
Question
给定 n 对正整数 ai,bi,请你求出每对数的最大公约数。
输入格式
第一行包含整数 n。
接下来 n 行,每行包含一个整数对 ai,bi。
输出格式
输出共 n 行,每行输出一个整数对的最大公约数。
数据范围
1≤n≤105,
1≤ai,bi≤2×109
输入样例:
2
3 6
4 6
输出样例:
3
2
难度:简单
时/空限制:1.5s / 64MB
总通过数:16120
总尝试数:18272
来源:模板题
算法标签
Ideas
欧几里得算法又称辗转相除法,用于求两个数的最大公约数
0和任何数的最大公约数都是其绝对值的本身
约数和质数都是在正整数范围里面定义的
Code
def gcd(a,b):
return gcd(b,a%b) if b else a
n = int(input())
for i in range(n):
a,b = map(int,input().split())
print(gcd(a,b))