编写一个求最大公约数函数。在主函数中输入两个整数,调用该函数,计算输出它们的最大公约数。
函数接口定义:
gcd(m,n)
其中m 和 n 是用户传入的参数。函数返回它们的最大公约数。
裁判测试程序样例:
/* 请在这里填写答案 */
x,y = map(int,input().split())
z=gcd(x,y)
print(z)
输入样例:
在这里给出一组输入。例如:
12 8
输出样例:
在这里给出相应的输出。例如:
4
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
2.穷举法
def gcd(m,n):#
z = 0
for i in range(1, n + 1):
if m % i == 0 and n % i == 0:
z = max(z, i)
return z
1.递归法(欧几里得算法)被除数, 除数 == 除数, 取余????基于辗转相除算法
def gcd(m, n):
if n == 0:
return m
else:
return gcd(n, m % n)
3.辗转相减法
def gcd(m, n):
while m != n:
if m > n:
m = m - n
else:
n = n - m
return m