【发布时间】:2016-01-07 21:48:57
【问题描述】:
所以我的错误表明我无权访问此内存。
这是它的代码,我正在尝试让 collaz 系列工作。
但是我的n 变得消极,即使它不应该。
const int number = 1000000;
//Chain Vars-------------------
int chainLength = 0;
int startingNumber = 0;
int chain = 0;
int n = 0;
//----------------------------
for (int i = 2; i <= 1000000; i++)
{
n = i;
chain = 0;
while (n != 1 && n >= i)
{
chain++;
if ( (n % 2) == 0)
{
n = n / 2;
}
else
{
n = n * 3 + 1;
}
}
}
【问题讨论】:
-
Pastebin:坏 - 在 SO 上发布代码:好。发布所有代码:坏 - 发布与问题相关的代码:好
-
同样的代码在 c# 中也可以正常工作。 -- C# 不是 C++
-
关闭一个错误。数组的索引从 0 开始,而不是 1。如果它在 C# 中工作,那么你很幸运 - 即使它看起来适用于您选择的测试用例,代码在 C# 中也会有缺陷。
-
错误信息到底说了什么?
-
@PaulMcKenzie 算法就是算法。数组边界是数组边界。两者都与语言无关。