我目前正在尝试通过 Project Euler 来增加我对 C++ 的理解,但我在问题 2 上遇到了如何在斐波那契数列中只获得偶数的问题。我有99%的肯定您只需要从网上看过的内容中使用%运算符,但据我所知,它需要余下的部分(例如11/3 = 9 w / 2的余数) ),因此我不知道如何将其合并到代码中。
问题:斐波那契数列中的每个新项都是通过将前两项相加而生成的。从1和2开始,前10个项将是:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
通过考虑 Fibonacci 数列中值不超过 400 万的项,找出偶数项的总和。
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;
}
您需要使用模运算符检查数字的均匀性。
for (int i = 0; i < 500000; i++) {
next = first + second;
if(next%2 == 0) {
cout << next << "\n";
}
first = second;
second = next;
}
有关模运算符的更多详细信息,请阅读给定的链接。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句