首页 > 试题广场 >

一行代码求两个数的最大公约数

[编程题]一行代码求两个数的最大公约数
  • 热度指数:1178 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定两个不等于0的整数M和N,求M和N的最大公约数。


输入描述:
输入有两个整数。分别表示M, N


输出描述:
一个整数表示M, N的最大公约数
示例1

输入

6 12

输出

6
示例2

输入

2 3

输出

1

备注:
头像 快支棱起来的椰子很愤怒
发表于 2022-01-20 16:29:58
n, m = map(int, input().split()) if n < m: n, m = m, n while n % m != 0: n, m = m, n % m print(m)
头像 常喝水
发表于 2020-01-08 16:52:16
辗转相除法:取模运算性能较差,时间复杂度近似为O(log(max(a,b))) 更相减损术:算法性能不稳定,最坏为O(max(a,b)) 更相减损术与移位相结合:性能稳定,时间复杂度为O(log(max(a,b)))def gcd(a, b): if a == b: return a if 展开全文
头像 whoway
发表于 2021-03-15 10:21:20
辗转相除法『迭代写法』 #include<bits/stdc++.h> using namespace std; int n,m; int gcd(int a,int b) { if( a<b ) { swap( a,b ); } 展开全文

问题信息

上传者:小小
难度:
12条回答 5434浏览

热门推荐

通过挑战的用户

查看代码