这个问题真没想到,没留意M最大只有3,也完全没有想到用公式啥的,当时没往这方面想,直接按递归公式写的算法,结果狠狠的巴掌:超时了。。。。

问题描述
众所周知,阿克曼函数中扮演一个重要的角色在理论计算机科学领域。 然而,在另一方面,戏剧性的快速增长速度引起的功能很难calcuate阿克曼的价值功能。

阿克曼函数可以递归地定义如下:

现在艾迪给你两个数字:m和n,你的任务是计算的价值(m,n)。这是如此简单的问题,如果你解决这个问题,你将收到一个奖(艾迪将邀请你,6餐厅吃晚饭)。

输入
的每一行输入两个整数,即m,n,0 < m < = 3。
注意,当m < 3,n可以是任意整数不到1000000,而m = 3,n的值限制在24。
输入终止结束的文件。
输出
为每个值m,n,打印出的价值(m,n)。
样例输入
  
1 3 2 4
样例输出
  
5 11

下面是超时的代码:

int fun(int m, int n)
{if(m==0)return n+1;if(m>0 && n == 0){fun(m-1,1);}if (m>0 && n>0){fun(m-1,fun(m,n-1));if (m==3){if(n>24)n=24;}}
}
M最大是3 所以可以直接把m=1,2,3
的公式推出来,推导m=1时要结合m=0时推
推导m=2时用m=1时 同理可得到
m=0    n+1;
m=1    n+2;
m=2   2*n+3
m=3   dp[3][i]=2*dp[3][i-1]+3;
#include<stdio.h>
long int A(long int,long int);
main()
{long int n,m;while(scanf("%ld%ld",&m,&n)!=EOF)printf("%ld\n",A(m,n));
}
long int A(long int m,long int n)
{if(n==0) return A(m-1,1);else if(m==0)return n+2;else if(m==1) return n+2;else if(m==2) return 2*n+3;else  if(m==3)return A(m,n-1)*2+3;<pre name="code" class="cpp">       //else if(m==3) return (1<<n+3)-3;

}

ACM Ackermann function(阿克曼函数)相关推荐

  1. 语言阿克曼函数_函数式的动态规划

    函数式的动态规划 动态规划是一类很常用的算法,在C/C++/Java中一般使用于数组进行记忆化.而函数式编程语言一般无法方便地操作数组这些依赖副作用的数据结构,函数式的记忆化便要另寻他法. 本文就是一 ...

  2. 栈的应用4——递归函数的非递归形式(主讲阿克曼函数的非递归形式)

    递归 函数自己调用自己 如求阶乘函数: int jiecheng(int n) {if(n==0)return 1;if(n==1)return 1;else return n*jiecheng(n- ...

  3. 阿克曼函数推导过程(m=3)

    阿克曼函数(Ackermann)是非原始递归函数的例子.它需要两个自然数作为输入值,输出一个自然数.它的输出值增长速度非常快,仅是对于(4,3)的输出已大得不能准确计算. \[ A(m, n)=\le ...

  4. 【C/C++】阿克曼函数以及其数学的有限边界思维

    ## 在递归函数论和涉及集合的并的某些算法的复杂性研究中,有一个起重要作用的递归函数--阿克曼(Ackermann)函数,该函数是由希尔伯特的学生,德国著名数学家威尔海姆·阿克曼于1928年发现的.这 ...

  5. 数据库系列之mysql 自定义函数function,函数和存储过程的区别

    mysql 自定义函数function,函数和存储过程的区别 https://blog.csdn.net/u010365819/article/details/80470448 https://blo ...

  6. Function(函数)

    函数 将一系列代码或者操作行为打包到一起形成的就是函数,一块有特定功能的代码. 存放运行逻辑的代码块,以便重复使用 函数声明和函数表达式却别 函数声明 是function开头 作为关键字,声明函数,并 ...

  7. js function定义函数的4种方法

    js function定义函数的4种方法 1.最基本的作为一个本本分分的函数声明使用. 复制代码代码如下: 复制代码代码如下: function func(){}  或  var func=funct ...

  8. B - 阿克曼函数(记忆化搜索(啊呸))

    在我的不懈努(爆)力(零)下,我把阿克曼函数的记忆化搜索用我的泥头车创出来了(啧),不过这个记忆化应该不是最优解(或者说仿?),31ms跑完小数据,说实话有点慢(确实),如果有大lao写出了正宗的记忆 ...

  9. OpenCL Function Qualifiers (函数限定符)

    OpenCL Function Qualifiers (函数限定符) OpenCL 3.0 Reference Pages -> OpenCL Compiler -> Function Q ...

最新文章

  1. Alluxio HA 写入文件失败
  2. 多层mvc,thikphp进阶
  3. 【手写系列】纯手写实现一个高可用的RPC
  4. Application 类 简介
  5. Go的runtime.GOMAXPROCS
  6. 提升领导力 六商是基础
  7. 为什么我们要做单元测试?(二)
  8. MySQL运算符,SQL,算术比较逻辑位,优先级,正则表达式,完整详细可收藏
  9. 信息学奥赛一本通——1001:Hello,World!
  10. 学习Scala: 初学者应该了解的知识
  11. 腾讯首投AI芯片,领投燧原科技Pre-A轮3.4亿元融资
  12. Leetcode刷题修炼手册
  13. 8-汇编语言数据长度及寻址-bx/si/di/bp+ss+ptr+div+dd+dup
  14. eeupdate使用说明_UNRAID中文插件分享以及部分问题解决方案
  15. 数据结构1800题-错题集-第一章
  16. [python] 多值参数(定义多值参数的函数、案例演练、元组和字典的拆包)
  17. 京东商品详情数据接口(APP端,H5端),监控京东商品历史价格及价格走势,接口代码对接教程
  18. 《所谓情商高就是会说话》
  19. 【详细】Python实现病毒仿真器
  20. Rviz 实现 pannel 插件

热门文章

  1. 获取订单状态_SAP刘梦_新浪博客
  2. E-puck2机器人系列教程-7.机器人本体STM32固件更新
  3. 【题解】LuoGu1133:教主的花园
  4. C#作业三:连接数据库并实现基础CRUD操作
  5. 2017年杭州职称计算机培训,2017浙江职称计算机考试报名:杭州职称计算机报名入口...
  6. python3 selenium 自动化 登录搜狐邮箱之 函数的二次封装和模块的调用及函数的调用
  7. 使用echarts实现活跃度(热力图)
  8. python barrier_[Python 多线程] Barrier (十一)
  9. 安卓程序中调用 linux 命令
  10. Intent Service 和Service的区别