求阶乘(递归的办法)
def digui(n):
if n==1:
return 1
else:
return n * digui(n-1)
number =int(input("输入一个正整数:"))
print(digui(number))
测试题
0、递归表现调用本身的一个行为
1、(1)调用自身函数 (2)设置正确的返回条件
2、像汉诺塔、快速排序
3、用递归算法时,一定要注意设置递归的出口,否则将会陷入无限递归的过程。
动动手
0、def power(x,y):
if y == 1:
return x
else:
return x * power(x,y-1)
print('------------------幂运算-----------------------')
Bnum = int(input('请输入一个底数:'))
Enum = int(input('请输入指数:'))
result = power(Bnum,Enum)
print('%d的%d次方等于%d.'%(Bnum,Enum,result))
def gcd(m,n):
if n == 0:
return m
else:
return gcd(n,m%n)
a = int(input('请输入第一个正整数:'))
b = int(input('请输入第二个正整数:'))
result = gcd(a,b)
print('%d与%d的最大公约数是:%d'%(a,b,result))