Fibonacci序列中的每个新术语都是通过添加前两个术语生成的。从1和2开始,前10个术语将是:
1,2,3,5,8,13,21,34,55,89,......
找出序列中所有偶数值的总和,不超过四百万。
我的代码:
int x = 0;
int y = 1;
int z;
int sum = 0;
for(int i = 0; i <= 4000000; i++)
{
z = x + y;
x = y;
y = z;
if(y % 2 == 0)
{
sum = sum + y;
}
}
System.out.println(sum);
}
输出1110529254
,但正确的答案是4613732
。
非常感谢帮助。
答案 0 :(得分:0)
您的代码会迭代400万次,但它不会检查序列中所有偶数值的总和是否不超过四百万。
下面你可以找到我的变量,即在序列中得到所有偶数值的总和,不超过百万。
public class Example_1 {
public static void main(String args[]) {
int x = 0;
int y = 1;
int z;
int sum = 0;
while (true) {
z = x + y;
x = y;
y = z;
if(y % 2 == 0) {
sum = sum + y;
}
if (sum >= 4000000){
break;
}
}
System.out.println("Sum: " + sum);
}
}
我从这段代码得到的答案是4613732
,正如我们所料。