【发布时间】:2020-07-23 12:49:44
【问题描述】:
public class Euler2 {
public static void main(String[] args) {
int Num1 = 0;
int Num2 = 1;
int sum = 0;
do
{
sum = Num1 + Num2;
Num1 = Num2;
Num2 = sum;
if (Num2 % 2 == 0)
sum = sum + Num2;
}
while (Num2 < 4000000);
System.out.println(sum);
}
}
斐波那契数列中的每个新项都是通过添加前两项来生成的。从 1 和 2 开始,前 10 个术语将是:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
通过考虑斐波那契数列中值不超过四百万的项,求偶数项之和。
我不觉得我编码错了,但我得到的答案是 5702887,我知道它应该是 4613732。
【问题讨论】:
-
您是否正在尝试编写某种既定的数学公式?如果有,请说明它是什么。否则,请清楚地解释您的程序应该做什么。
-
斐波那契数列中的每个新项都是通过将前两项相加生成的。从 1 和 2 开始,前 10 项将是:1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... 通过考虑斐波那契数列中其值不超过四百万,求偶数项之和。这就是我要在代码中显示的内容。
-
老兄,欧拉项目的重点是自己解决问题。当您在下班后获得一份工作时,这是非常有益的(他们变得更加困难)。解决后在论坛中看到人们的解决方案也很酷。请注意,项目 euler 要求人们不要分享如何在线解决特定问题,因为它可以为每个人带来乐趣(projecteuler.com/about 一旦你登录)。快乐编程!
-
对不起,我真的没有试图获得免费答案,只是对我错在哪里的一点见解,他的提示帮助了我很多,一旦我得到,我不会透露真正的答案它。
-
你试过用调试器遍历你的代码吗?
标签: java