目录
- 一、什么是 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!
版权说明:本文禁止抄袭、转载,侵权必究!




![[ 汇编语言 (一) ] —— 踩着硬件的鼓点,掌握计算机的精髓](https://img-blog.csdnimg.cn/92d3fd43ddee4119ac908369ddef192d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56eL5ZCN5bGx56CB5rCR,size_20,color_FFFFFF,t_70,g_se,x_16)




![[数据结构-C语言] 算法的时间复杂度](https://img-blog.csdnimg.cn/img_convert/3e341f2e3c11580b9ea68ca79d052356.png)









