0
点赞
收藏
分享

微信扫一扫

最大公约数(欧几里得)


文章目录

  • ​​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))


举报

相关推荐

0 条评论