目录
- 一、什么是 McCarthy 91
- 二、有什么用?
- 三、Python算法实现
- 四、作者Info
一、什么是 McCarthy 91
McCarthy 91 是一个递归的函数表达式如下
函数的意思是当输入一个大于 100 的数字 n 时返回 n-10,而当输入一个小于等于101的数字 n 时递归的对 n 进行运算,但是结果总是 91。
二、有什么用?
这个函数的作用,是做为一个例子来让学生学会如何证明某种规范或是模式(或者说学会一种证明思想),而不是真的让你去证明 f(5) 是不是 等于91
三、Python算法实现
#第一种设置变量写法
def mccarthy91(n):
k = 1
while k:
if n > 100:
n -= 10
k -= 1
else:
n += 11
k += 1
return n
# 第二种递归写法
def mccarthy91_rec(n):
if n > 100:
return n - 10
else:
return mccarthy91_rec(mccarthy91_rec(n + 11))
print(mccarthy91_rec(50))
注意:上面这两种函数写法都可以,但建议使用第二种
输出结果
如图所示,无论使用哪种函数,对于n小于等于101,结果都为91
四、作者Info
Author:小鸿的摸鱼日常,Goal:让编程更有趣!
专注于算法、爬虫,游戏开发,数据分析、自然语言处理,AI等,期待你的关注,让我们一起成长、一起Coding!
版权说明:本文禁止抄袭、转载,侵权必究!