Day11:麦卡锡91函数(McCarthy 91)
一. 问题背景:
McCarthy 91 是一个递归的函数表达式如下:
函数的意思是当输入一个大于 100 的数字 n 时返回 n-10,当 n<10 的时候递归的对 n 进行运算,但是结果总是 91。
二. 解决思路:
递归。
注:仍未理解该函数的意义以及使用情景。
三. 算法实现:
def mccarthy91(n):k = 1while k:if n > 100:n -= 10k -= 1else:n += 11k += 1return n# 递归写法
def mccarthy91_rec(n):if n > 100:return n - 10else:return mccarthy91_rec(mccarthy91_rec(n + 11))print(mccarthy91_rec(50))