我的代码有什么问题?
Project Euler #2 in c++ What is wrong with my code?
我试图通过做一些欧拉问题来获得c++的基础知识。我被问题2卡住了,为什么这段代码是错的?我知道这不是正确的做法(它太长了)。
问题是:
斐波那契数列中的每个新项都是通过将前两个项相加生成的。从1和2开始,前10项将是:
1、2、3、5、8、13、21、34、55、89、…
考虑Fibonacci数列中值不超过400万的项,找出偶数项的和。
#include <iostream>
int main()
{
int number1 = 0, number2 = 1, sum = 0;
long int i;
for (i = 0; i < 37; i++) {
if (number1 < 4000000) {
if (number1 % 2 == 0){
sum = sum + number1;
}
}
if (number2 < 4000000) {
if (number2 % 2 == 0) {
sum = sum + number2;
}
}
if (i % 2) {
number1 = number2 + number1;
}
else {
number2 = number1 + number2;
}
}
std::cout << sum << "n";
system("pause");
return 0;
}
我知道正确的代码,但我仍然不明白我的代码出了什么问题。我需要的输出是4613732,但我的输出是9227464。注意,这是我需要的两倍。
UPDATE:我更新了我的代码,但我仍然得到了我需要的答案的两倍。首先,我也为这个糟糕的问题感到抱歉。我也更新了
您正在对斐波那契数进行双求和,请仔细查看if (i % 2)
和相应的else
相关文章:
- 警告处理为错误这里有什么问题
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 问题:什么是QAbstractItemView::NoEditTriggers的反面
- 当我尝试添加 2 个大字符串时,我无法弄清楚出了什么问题
- 违反const正确性:我应该现实地期待什么问题
- 这个带有模板<类 Vector 的C++代码片段有什么问题>
- 我的逻辑反转字符串中的元音有什么问题?
- 需要以下代码的帮助,下面的代码有什么问题
- 常量公共成员有什么问题?
- c++无值sort()的问题是什么?
- 以下代码中的函数模板有什么问题?
- 这个返回元素位置的基于循环的函数有什么问题?
- creat_list2功能有什么问题?
- 基本的 c++ 问题:如果我在函数中创建某些内容并返回它会发生什么?
- 我遇到了黑客排名中的问题"TWO STRINGS"的三个测试用例的分段错误。原因是什么?
- 什么是钻石问题?是一系列问题还是特定问题?
- 格式说明符C++有什么问题
- 我应该在 main 函数中写什么来测试我的问题?
- 任何人都可以告诉我我的 C++ 代码出了什么问题?
- 方法问题 - 什么会改变值,什么不会改变?什么是无效的?