gpt4 book ai didi

c++ - Dev C++ 版本 5.11 使素筛崩溃

转载 作者:行者123 更新时间:2023-12-03 01:02:29 24 4
gpt4 key购买 nike

我一直在尝试用 C++ 实现埃拉托斯特尼筛法。我正在使用 Dev C++ 5.11 编译器,每次运行代码时,编译器 crashes 。对于较小的数组值 (n = 10000),程序成功运行,但打印 garbage values在文本文件中(请查找所附图片)。我是编程爱好者,现在已经研究这个问题一天多了。很高兴获得任何帮助。谢谢你的时间! :)

#include <iostream>
using namespace std;
#include <fstream>

int main(){
ofstream myfile("Prime.txt");
int n = 1000000;
int prime[n] = {0};
for (int i = 2; i <= n; i++){
for (int j = i*i; j <= n; j+=i){
prime[j - 1] = 1;
}
}
for (int i = 2; i <= n; i++){
//cout<<prime[i-1]<<endl;
if (prime[i - 1] == 0)
myfile<<i<<" ";
}
myfile.close();
return 0;
}

最佳答案

也许数组太大了。 32 位编译器对最大大小有限制因素(4 GB 限制)。

1.000.000 * 4 字节(32 位)= 4.000.0000 字节

4.000.000 字节/1024/1024 = ~3,8 GB

关于c++ - Dev C++ 版本 5.11 使素筛崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37338471/

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