紧急求助!!!!已知ackermann函数,对于m>=0和n>=0有如下定义:

baifan 2003-01-12 12:12:23
已知ackermann函数,对于m>=0和n>=0有如下定义:
ack(0,n)=n+1
ack(m,0)=ack(m-1,1)
ack(m,n)=ack(m-1,ack(m,n-1))
编程输入m和n,求出ack(m,n)之值。

呜呜~~

明天早上就要用的~~~~
...全文
426 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
rushman 2003-01-12
  • 打赏
  • 举报
回复
//真是昏透了
int ack(int m,int n)
{
//ack(0,n)=n+1
if(m == 0)
return(n + 1);
//ack(m,0)=ack(m-1,1)
if(n == 0)
return(ack(m - 1,1));
//ack(m,n)=ack(m-1,ack(m,n-1))
return(ack(m - 1,ack(m,n - 1)));
}
rushman 2003-01-12
  • 打赏
  • 举报
回复
错了吗?脸红了^_^

MSN:rushman008@hotmail.com
baifan 2003-01-12
  • 打赏
  • 举报
回复
多谢各位,现在好忙,等会给分好吧!谢了~~~~^_^
LeeMaRS 2003-01-12
  • 打赏
  • 举报
回复
rushman你怎么帖了一次还是错的?
你有MSN吗?
jinxiao258 2003-01-12
  • 打赏
  • 举报
回复
多谢!我来试试。
积木 2003-01-12
  • 打赏
  • 举报
回复
tmmd 竟然忘了那几个return?
#include<stdio.h>
int ack(int m,int n)
{
if(n == 0)
{
return ack(m-1,1);
}
else if(m==0)
{
return n+1;
}
else
{
return ack(m-1,ack(m,n-1));
}
};
main()
{
int m=0,n=0;
scanf("%d%d",&m,&n);
printf("ack is %d\n",ack(m,n));

}
改一下
rushman 2003-01-12
  • 打赏
  • 举报
回复
//Faint,怎么会范这样的错
int ack(int m,int n)
{
//ack(0,n)=n+1
if(m == 0)
return(n + 1);
//ack(m,0)=ack(m-1,1)
if(n == 0)
return(m - 1,1);
//ack(m,n)=ack(m-1,ack(m,n-1))
return(m - 1,ack(m,n - 1));
}
rushman 2003-01-12
  • 打赏
  • 举报
回复
int ack(int m,int n)
{
//ack(0,n)=n+1
if(m = 0)
return(n + 1);
//ack(m,0)=ack(m-1,1)
if(n = 0)
return(m - 1,1);
//ack(m,n)=ack(m-1,ack(m,n-1))
return(m - 1,ack(m,n - 1));
}
LeeMaRS 2003-01-12
  • 打赏
  • 举报
回复
sigh. 这个题的难度可以说是0级: 根本没难度.

#include <iostream>

using namespace std;

unsigned long ack (unsigned long m, unsigned long n)
{
if (0 == m)
return n+1;
else if (0 == n)
return ack(m-1, 1);
else
return ack(m-1, ack(m,n-1));
}

int main()
{
int m, n;
cin >> m >> n;
cout << ack(m,n);

return 1;
}

m 和 n 不能太大, ackermann函数是疯狂增长的函数.
积木 2003-01-12
  • 打赏
  • 举报
回复
#include<stdio.h>
int ack(int m,int n)
{
if(n == 0)
{
ack(m-1,1);
}
else if(m==0)
{
return n+1;
}
else
{
ack(m-1,ack(m,n-1));
}
};
main()
{
int m=0,n=0;
scanf("%d%d",&m,&n);
printf("ack is %d\n",ack(m,n));

}
应该没有错
SwordMan2001 2003-01-12
  • 打赏
  • 举报
回复
这个 ackermann 函数是派什么用场的,我怎么觉得很熟悉?
哪位高手知道?
SwordMan2001 2003-01-12
  • 打赏
  • 举报
回复
呵呵,各位高手去考试的话,全载了!

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧