声明大型阵列没有理由崩溃?

时间:2016-10-30 17:06:47

标签: c++

我用C ++编写了phi函数,但是如果我用1.000.000元素声明数组phi,我的程序会崩溃。如果我将它减少到99.999个元素,它不会给我任何错误并且工作正常。有人可以建议我对代码进行任何优化吗?这都与学校有关。

    #include <iostream>
using namespace std;
int main()
{
    int M;
    cin >> M;
    int phi[1000000];
    for (int i = 1; i <= M; ++i)
        phi[i] = i-1;
    for (int i = 2; i <= M; ++i)
        for (int j = 2*i; j <= M; j += i)
            phi[j] -= phi[i];
    cout << phi[M];
}

0 个答案:

没有答案