Day 11:麦卡锡91函数

今日份放送,虽迟但到!

麦卡锡91函数可以说最“鸡肋”函数没有之一,但是这个函数又成为了许多计算机科学专业学生的梦魇,这是为什么呢?

麦卡锡91函数

此麦卡锡非彼麦卡锡,麦卡锡91函数是“人工智能之父”——约翰·麦卡锡提出的。为什么称之为人工智能之父呢,是因为他在1956年的达特茅斯会议上提出了“人工智能”这个概念。那为什么称麦卡锡91函数为最“鸡肋”呢?这是因为他提出的这个函数本身并没有什么作用,这个函数本身是长这个样子的:

这个函数是一个普通的分段函数,输入一个正整数N,当N大于100时其输出结果为N-10,而当N小于等于100时,输出的是一个关于其自身的复合函数。那么这个函数对么?会出现死循环么?当N小于100时输出到底是什么呢?经过一番证明(其实很简单)发现当输入的N为小于100的整数时,其输出恒定为91.这也是这个函数名称的由来。那么这个函数就变成了以下的样子:

证明过程本身并不复杂,麦卡锡91函数给我们带来的是一种称之为形式检验的概念,形式验证是指在计算机硬件或软件系统的设计过程中,不用实施系统而是根据某个或某些形式规范或属性,使用数学的方法证明其正确性或非正确性。麦卡锡91函数就作为形式检验的一个基础示例出现在大众眼中。

程序思路

根据以上结论,我们可以很轻松的编写麦卡锡91函数,其主要思想分两种:递归和循环。请大家用两种方法分别实现麦卡锡91函数。

问题

证明麦卡锡91函数的正确性。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180819G16G7K00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券