斐波那契数列
def fib(n):
if n <= 2:
return 1
else:
return fib(n-1) + fib(n-2)
def fib(n):
return 1 and n<=2 or fib(n-1)+fib(n-2)
fib=lambda n:1 if n<=2 else fib(n-1)+fib(n-2)
def fib(n,a=1,b=1):
if n==1 : return a
return fib(n-1,b,a+b)
这两种一个意思
def fib(n,l = [0]):
l[0] +=1
if n ==1 or n == 2:
l[0] -= 1
return 1,1
else:
a,b = fib(n-1)
l[0] -= 1
if l[0] == 0:
return a+b
return b,a+b
print(fib(5))
阶乘
def fac(n):
if n == 1 :
return 1
return n * fac(n-1)
print(fac(100))