請看看下面的代碼根據「斐波納契數列」中找到答案
package Euler;
import java.util.ArrayList;
import java.util.List;
public class Problem2
{
public static void main(String[]args)
{
int firstNumber=1;
int secondNumber=2;
int thirdNumber = 0;
int sum = 0;
List array = new ArrayList();
while(true)
{
if(thirdNumber>=400000)
{
break;
}
else
{
thirdNumber = firstNumber+secondNumber;
System.out.println(thirdNumber);
if(thirdNumber%2==0)
{
array.add(thirdNumber);
}
firstNumber = secondNumber;
secondNumber = thirdNumber;
}
}
for(int i=0;i<array.size();i++)
{
int num = Integer.parseInt(array.get(i).toString());
sum = sum+num;
}
System.out.println("The Sum is: "+sum);
}
}
在這裏,我想解決this問題,從項目歐拉,這是問題所在呢。
Fibonacci序列中的每個新項都是通過添加 前兩項生成的。通過用1和2開始,第一10個術語將 是:
1,2,3,5,8,13,21,34,55,89,...
通過考慮術語在斐波納契數列中值不爲 超過400萬的情況下,找到偶數項的和。
這是我得到的答案 - 257112;
它說答案是錯誤的。我不知道這是爲什麼。爲了您的信息,我的母語不是英語,我也沒有用英語做數學。所以我懷疑我是否誤解了這個問題。
請幫我找到解決這個問題的正確方法。由於
@nhahtdh沒有,沒有序列超過四百萬小在許多方面。用'int'正常工作。 –
這是一個項目歐拉問題,所以人們應該避免提供解決方案。 – 2012-06-30 15:55:52
正確答案是sum = 4613732.在擔心總和之前,您應該確定您的Fibonnaci數字是正確的。看看你是否可以創建一個值列表並讓它們正確。 – duffymo