# 阶乘
def fn(n):
if n == 1:
return 1
else:
return n * fn(n-1)
print(fn(5))
def factorila(a, mul=1):
mul *= a
if a == 1:
return mul
return factorila(a-1, mul)
print(factorila(4))
def fac2(m, p=None):
if p is None:
p = 1
if m == 1:
return p
p *= m
print(p)
fac2(m-1, p)
return p
fac2(5)
# 1234 ==> [4,3,2,1]
def change(num, lst=[]):
if len(str(num)) != 0 and num != 0:
lst.append(num % 10)
change(num//10, lst)
return lst
print(change(1234))
# print(divmod(10, 5)) (2, 0)
def change(num, lst=[]):
a, b = divmod(num, 10)
if b == 0:
return lst
lst.append(b)
return change(a, lst)
print(change(123888))
def change(num, lst=[]):
if num:
lst.append(num[-1])
print(lst)
change(num[:len(num)-1])
return lst
print(change(str(1234)))
# 猴子吃桃子
def peach(days=10):
if days == 1:
return 1
return (peach(days-1)+1)*2
print(peach())
def monkey(n=10):
if n == 1:
return 1
return (monkey(n-1)+1)*2
print(monkey())
def fn(d=1):
if d == 10:
return 1
return (fn(d+1)+1)*2
print(fn())
def fn(d=1, s=1):
s = (s+1)*2
d += 1
if d == 10:
return s
return fn(d, s)
print(fn())