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);
}
}
Run Code Online (Sandbox Code Playgroud)
Fibonacci序列中的每个新术语都是通过添加前两个术语生成的.从1和2开始,前10个术语将是:
1,2,3,5,8,13,21,34,55,89 ......
通过考虑Fibonacci序列中的值不超过四百万的项,找到偶数项的总和.
我不觉得我编码错了,但我得到的答案是5702887,我知道它应该是4613732.
public class Euler {
public static void main(String[] args) {
int num1 = 0;
int num2 = 1;
int temp = 0;
int sum = 0;
do {
if (num2 % 2 == 0) {
sum = sum + num2;
}
temp = num1 + num2;
num1 = num2;
num2 = temp;
} while (num2 < 4000000);
System.out.println(sum);
}
}
Run Code Online (Sandbox Code Playgroud)
你通过在num2为偶数的每次迭代中分配两次来搞砸总和.在这个解决方案中,我们使用临时变量来存储下一个斐波纳契数.
解决方案 = 4613732
| 归档时间: |
|
| 查看次数: |
14743 次 |
| 最近记录: |