在C ++中只获取偶数

时间:2017-03-03 21:31:04

标签: c++

我目前正在尝试通过Project Euler来增加对C ++的理解,但是我对如何在Fibonacci序列中仅得到偶数数字的问题2感到困惑。我99%肯定你必须使用我在网上查看的东西中的%运算符,但我理解的是它需要剩下的东西(例如11/3 = 9 w) /余数为2),所以我不知道如何将它合并到代码中。

问题:Fibonacci序列中的每个新术语都是通过添加前两个术语生成的。从1和2开始,前10个术语将是:

1,2,3,5,8,13,21,34,55,89,......

通过考虑Fibonacci序列中的值不超过四百万的项,找到偶数项的总和。

using namespace std;

int main()
{
int first = 1;
int second = 2;
int next;

cout << first << endl;
cout << second << endl;
if (next < 4000000)
{
    for (int i = 0; i < 500000; i++)
    {
        next = first + second;
        first = second;
        second = next;
    }
}


cout << next << endl;

return 0;
}

1 个答案:

答案 0 :(得分:1)

您需要使用模运算符检查数字的均匀性。

for (int i = 0; i < 500000; i++) {
    next = first + second;
    if(next%2 == 0) {
        cout << next << "\n";
    }
    first = second;
    second = next;
}

有关模运算符的更多详细信息,请read给定链接。