python面试题 之 求阶乘 & 青蛙跳问题

1、求4的阶乘

def test(n):
    if n == 1:
        return 1
    else:
        res = n*test(n-1)
    return res

print(test(4))  # 24

2、青蛙跳问题

二级台阶

import sys
sys.setrecursionlimit(1000000000)             #设置系统最大递归深度

def fib(n):
    if n <= 2:
        return n
    else:
        return fib(n-1) + fib(n-2)
print(fib(4))         # 5

三级台阶

import sys
sys.setrecursionlimit(1000000000)             #设置系统最大递归深度

def fib(n):
    if n <= 2:
        return n
    elif n == 3:
        return 4
    else:
        return fib(n-1) + fib(n-2) + fib(n-3)
print(fib(4))         # 7

n级台阶

import sys
sys.setrecursionlimit(1000000000)             #设置系统最大递归深度

def fib(n):
    if n <= 2:
        return n
    else:
        return 2 * fib(n - 1)
print(fib(4))         # 8

你可能感兴趣的:(python面试题)