gpt4 book ai didi

c - 程序崩溃并返回代码 255

转载 作者:太空宇宙 更新时间:2023-11-04 01:04:31 28 4
gpt4 key购买 nike

#include <stdio.h>
int findnumb(int max)
{
static int total=2;
static int desk=1;
if(total>max)
{
return 0;
}
else
{
if(desk>=total)
{
total++;
desk=1;
return findnumb(max);
}
else
{
desk++;
int left=desk*(desk-1)/2;
int right=(total*(total+1)/2)-(desk*(desk+1)/2);
if(left==right)
{
printf("Desk number %d, number of participants %d\n", desk, total);
return findnumb(max);
}
return findnumb(max);
}
}
}



main()
{
int max;
printf("Enter the upper bound:\n");
scanf(" %d", &max);
printf("------------------------\n");
findnumb(max);
printf("Search is complete");

}

谜语是这样的:

假设有一个 session ,我们不知道有多少人参加。然而,我们看到一个人退出了 session 。如果我们问他 session 上有多少人,他只是回答“我不知道”。尽管如此,他还是说:“我坐在一张编号为 x 的椅子上,我下面和上面的数字之和等于。换句话说,如果椅子的数量是 x,那么 1,2,3….x-1 = x+1 x+2 ….t-1,t(参与者总数)。此外,我们不知道 t 的值和椅子编号 x。总参与者 8,椅子编号 6 是一个示例配置。因为 1+2+3+4+5 = 7+8 = 15。你的任务是通过一一尝试找到相似的配置。

并且它希望解决方案实现递归函数。

因此,当我运行此代码时,它无法管理大于 360 的扫描值,同时崩溃并终止并返回代码 255,那么我该如何解决此问题?

最佳答案

您没有提及您的平台,退出代码通常取决于平台。

然而,一个可能的原因是(具有讽刺意味的是)堆栈溢出!这不仅是该网站的名称,而且是真实存在的。

所有系统对递归都有实际限制,老实说,360 是递归的卸载。

您可以在编译器指令或选项中修改堆栈的大小。否则,您可能必须将递归代码“分解”为顺序程序。

通常情况下,您可以从堆中分配比系统在递归调用中接受的空间更多的空间。

关于c - 程序崩溃并返回代码 255,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26994240/

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