对于较大的值,正确代码中的运行时错误
Runtime error in correct code for large value
因此,我正在编写一个c++程序,该程序将列出指定数字N以内的质数。
我想写一个具有确定性的代码,比试除法更快,更容易实现。我最近了解了埃拉托色尼的筛法,并尝试使用它。
正如预期的那样,它使用大量内存,但运行时相当快。现在,我的问题是:
- 为什么这个程序在N=115800时给出运行时错误,即使N=115700在0.02秒和3456 KB内存使用(Ideone)中运行得很好?
显然,这不应该是内存问题,因为在Ideone FAQ中提到内存限制是256 MB,这是相当大的!我无法理解为什么运行时错误发生时,算法是正确的,没有内存问题!
是否因为char
数组arr
在我的代码中有太多的元素时,N=115800 ?
与问题无关的小代码纠错。您可能需要更改:
if(arr[i]==NULL)
:
if(arr[i]==0)
您希望将字符数组与0
(而不是NULL
)进行比较。这不是你的问题的原因。
Ideone的问题是它们将代码、输入和输出的总量限制为64kb。碰巧的是,N=115800
达到了这个极限。这可以在FAQ中找到:
源代码、输入和输出的大小限制是什么?64 kB。
相关文章:
- 为什么此代码存在运行时错误?
- 蝴蝶代码 88.合并排序数组 c++ 运行时错误
- 在Hackerearth上获取运行时错误(SIGSEGV),无法找出代码中的问题
- 为什么我在此代码中收到运行时错误
- 我的代码上的运行时错误 sigsegv
- 矢量的 c++ 代码中的运行时错误
- C++代码在 for 循环的条件下给出运行时错误,而如果它被具有相同意义的代码替换,则编译正确
- 我的代码中出现运行时错误的可能原因是什么?
- 我在代码中收到一个运行时错误,该错误如何通过修改最多一个元素来查找数组是否可以变得不减少
- 在 ZeroMQ 中绑定订阅者套接字并连接发布者套接字会在代码运行时给出错误.为什么
- 在计算机级别,应用程序以二进制方式运行,然后当发生运行时错误时,它如何呈现回错误代码
- .NET CORE 2 DLL引用带有C 代码运行时错误
- 为什么我的代码给出运行时错误超时
- C++ 中控制台代码运行时的分段错误
- 为什么我的程序在删除以下代码中的注释后会出现运行时错误?
- 薄板样条形状转换运行时错误 [使用代码 -1073741819 退出]
- 当我使用此合并排序代码运行时,输出错误
- C 代码的运行时错误(基于指针)
- 代码中的运行时错误,用于求解最小的偶数可整除
- 为什么我的代码导致运行时错误