更改数组中的值时出错。 <C ++>

时间:2017-08-08 03:26:16

标签: c++

这是项目欧拉问题26。

我想将丰富的值保存在数组中,假设数量不超过200的{​​{1}}小于28123,这是问题中提供的上限。

这不是完整的代码,但我的程序停止在abundantarr[200]定义值。为什么我看到这个数组中的值有限制?

#include <iostream>
#include <cmath>

using namespace std;

bool IsitAbundant(int a);

int main()
{
     int abundantarr[200] = {0};
     int counter = 0;
     int totalsum = 0;

     for (int u = 1; u < 28123; u++)
     {
         if (IsitAbundant(u))
         {
             abundantarr[counter] = u;
             cout << abundantarr[counter] << endl;
             counter++;
         }
     }
  return 0;
}


bool IsitAbundant (int a)
{

    int sum = 0;
    for (int i = 1; i < a; i++)
    {
        if (a % i == 0)
        {
            sum+= i;
        }
    }

    if (sum > a)
    {
        return true;
    }
    else
    {
        return false;
    }
}

0 个答案:

没有答案