算法:阿克曼函数(C++)
2015-12-11 15:31
621 查看
算法原理
阿克曼函数定义:
{ n+1; m=0,n>0
A(m,n) = { A(m-1,1); n=0,m>0
{ A(m-1,A(m,n-1)) n>0,m>0
阿克曼函数定义:
{ n+1; m=0,n>0
A(m,n) = { A(m-1,1); n=0,m>0
{ A(m-1,A(m,n-1)) n>0,m>0
#include<iostream> using namespace std; //声明Ackerman函数 int Ackerman(int m, int n); //主函数 void main() { int m, n; cout << "请输入m、n的值:"; cin >> m >> n; cout << "Ackerman函数的结果为:"; cout << Ackerman(m, n) << endl; } //Ackerman函数 int Ackerman(int m, int n) { if (0 == m) return n + 1;//若m=0,则返回n+1的值 else { if (m > 0 && 0 == n) return Ackerman(m - 1, 1);//若m>0且n=0,则返回Ackerman(m-1,1)的值 else if (m > 0 && n > 0) return Ackerman(m - 1,Ackerman(m, n - 1));//若m>0且n>0,则返回Ackerman(m - 1,Ackerman(m, n - 1))的值 } }
相关文章推荐
- C++代码质量检查工具-----Cpplint
- 算法:汉诺塔问题(c++)
- C语言实现GBK/GB2312/五大码之间的转换(转)
- C++内存管理详解
- 算法:二分查找算法(c++)
- 算法之排序算法:插入排序(C++)
- 关于理解指针与函数
- C语言读取指定行文本
- C/C++函数指针
- C/C++常用算法【C语言顺序查找(随机数)】【1】
- C/C++常用算法【C语言顺序查找(随机数)】【1】
- C++函数模板的具体化和实例化
- 深度解析C++模版
- C++函数模板与类模板实例解析
- C -- C语言字符串操作
- HDOJ 2024 C语言合法标识符
- 用C++试着完成Python简明教程后面的练习
- VC++ 对话框下使用工具栏
- MFC 获得各类指针、句柄的方法
- android canvas c++ 绘图