#1.阶乘
# def f(n) :
# #递归出口
# if n <= 1:
# return 1
# ans = n * f(n - 1)
# return ans
# n=int(input())
# print(f(n))
#
#
# def f(n, l):
# # 递归出口
# if n <= l:
# return 1 # 当 n 小于等于 l 时,返回 1,因为不再有更多的项可以相乘
# else:
# return n * f(n - 1, l) # 否则,返回 n 乘以从 n-1 到 n-l+1 的乘积
#
# # 示例:计算 5 乘以 4 乘以 3 乘以 2 乘以 1
# print(f(5, 1)) # 输出应该是 5!(5的阶乘),即 120
#
# # 另一个示例:计算 5 乘以 4 乘以 3
# print(f(5, 3)) # 输出应该是 60
#
# #2.汉诺塔
# def Move(n, A, B, C):
# # 递归出口
# if n == 0:
# return
# # n-1个盘子从A挪到B
# Move(n - 1, A, C, B)
# # 第n个盘子从A挪到C
# print("{}->{}".format(A, C))
# # n-1个盘子从B挪到C
# Move(n - 1, B, A, C)
#
# # 输入盘子的数量
# n = int(input("请输入盘子的数量:"))
# # 调用函数开始移动盘子
# Move(n, 'A', 'B', 'C')
#3.
def f(n):
# 递归出口
if n == 0:
return 1
ans = 1
for i in range(1, n // 2 + 1):
ans += f(i)
return ans
n = int(input("请输入一个整数:"))
print(f(n))
【蓝桥杯】省赛无忧班(Python 组)第 2 期 10.4递归
于 2024-02-20 23:26:39 首次发布