1
1
如果您使用合法的C++构造而不是非标准的 variable length arrays ,您的代码将运行(是否生成正确答案是另一个问题)。 问题很可能是,当您声明包含一百万或更多元素的数组时,您超出了堆栈的限制。 因此,与其这样:
使用 std::vector :
然后:
这个
事实上,你甚至不需要通过
|
2
0
首先,阅读并应用保罗·麦肯齐的建议。这是最重要的。我只是在回答你的问题中一些尚未解决的小问题。
你似乎在试图考虑你误导性地拨打的电话号码
然而,以目前的形式,您的代码无法从这一事实中获益。现在的审判循环必须达到
如果你稍微重构一下代码,你可以更有效地进行因子分析:当你找到了数字中最小的素因子p时,剩下的因子就必须是
在任何一轮程序中,你只需要考虑p和当前数的平方根之间的素因子;如果这些素数中没有一个除当前数,那么它一定是素数。要测试p是否超过某个数n的平方根,可以使用
因此,平方根有两种不同的作用:
这是同一枚硬币的两面,但在实际代码中有两种不同的用法。 注意:一旦你通过应用PaulMcKenzie的建议使代码正常工作,你也可以考虑在 Code Review . |
Community wiki · 如何调试Python内存故障? 1 年前 |
tuskiomi · 如何为参考提供明确的锈蚀寿命? 2 年前 |
cobb208 · Malloc正在为释放指针引发错误 2 年前 |
mo FEAR · C++ STL映射是否在创建后移动了一个值的位置? 2 年前 |
Pooyanoss · 覆盖类的堆栈分配实例 2 年前 |
TheKing · 为什么数组的地址可以有负值? 2 年前 |
Http2inc · 如何从内存中解析这些二进制数据? 2 年前 |
tifrel · 如何检查已编译类型的表示形式? 2 年前 |
Gabriele · 释放GSL矩阵的正确方法是什么? 6 年前 |
Makogan · 3D纹理大小影响程序输出,不会引发错误 6 年前 |