0. 使用递归编写一个power()函数模拟内建函数pow(),即power(x, y)为计算并返回x的y次幂的值。
#普通
def pow(x,y):
return x**y
print(pow(55,3))
#递归
def pow(x,y):
if y == 0:
return 1
else:
return x*pow(x,y-1)
print(pow(5,99))
1. 使用递归编写一个函数,利用欧几里得算法求最大公约数,例如gcd(x, y)返回值为参数x和参数y的最大公约数。
#普通:
def gcd(x,y):
a = 1
while not a==0:
a = y%x
y = x
x = a
print(y)
gcd(15,9)
#递归
def gcd(x,y):
if y:
return gcd(y,x%y)
else:
return x