gpt4 book ai didi

c++ - Ackermann 函数在 C++ 中不能正常工作

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:30:44 24 4
gpt4 key购买 nike

在我的阿克曼函数家庭作业中,我解决了如下问题

int main()
{
int y = ack(4,1);
cout<<"ans is :::: "<< y;

getch();
return 0;
}

int ack(int m, int n)
{
if(m == 0)
{
return n+1;
}
else if(m > 0 && n == 0)
{
return ack(m-1,1);
}
else if(m > 0 && n>0)
{
int x = ack(m,n-1);
return ack(m-1,x);
}
else
{
cout<< "did not worked properly";
}
}

此函数适用于 m=3 和 n = 10 的低值但是当我给出 m = 4/above 或 n = 15/above 时,这不起作用。我没有出局。程序直接退出,没有任何警告、错误或结果。

请有人告诉我发生这种情况的原因以及如何解决这个问题。

最佳答案

数字(4, 15) 是一个无法计算和表示的大数字。看table of values .例如 (4, 2) 比可观测宇宙中的粒子数大几个数量级!

我有一个 similar homework .重点是向您展示某些东西可以疯狂地生长。人类对 grokk 指数增长的问题与阿克曼函数相比显得苍白无力。

考虑大数可以得出有趣的结论。想象一下,您正沿着 2^2^65536 - 3 米长的道路行走(即 ackermann(4, 3))。假设平均人体大约等于 1m^3 它有 10^10^70 quantum states .沿着这条路走下去,你会遇到你的分身——量子层面上的分身!所以他们会有完全相同的想法,相同的伤疤,相同部位的肘部发痒。他们甚至会消化同样的食物。你会遇到亿亿亿亿分身。对我来说,这真是令人兴奋。

关于c++ - Ackermann 函数在 C++ 中不能正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11177681/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com