Слово Проблема Я пытаюсь решить:
Каждый новый член последовательности Фибоначчи образуется сложением двух предыдущих условий. Начиная с 1 и 2, первые 10 терминов будут следующими:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
Рассматривая термины в последовательности Фибоначчи значения не превышают четырех миллионов, найдите сумму четных членов.некорректный вывод для проекта Эйлера # 2 - Java
Я уверен, что вы уже встречали вопросы об этой проблеме в Project Euler, но я не уверен, почему мое решение не работает, поэтому я надеюсь, что вы сможете помочь!
public class Problem2Fibonacci {
public static void main(String[] args) {
/* Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms. */
int sum = 0; // This is the running sum
int num1 = 1; // This is the first number to add
int num2 = 2; // This is the second number
int even1 = 0;
int even2 = 0;
int evensum = 0;
while (num2 <= 4000000){ // If i check num2 for the 4000000 cap, num will always be lower
sum = num1 + num2; // Add the first 2 numbers to get the 3rd
if(num2 % 2 == 0){ // if num2 is even
even1 = num2; // make even1 equal to num2
}
if(sum % 2 == 0){ // if sum is even
even2 = sum; // make even2 equal to sum
}
if (even1 != 0 && even2 != 0){ // If even1 and even2 both have values
evensum = even1 + even2; // add them together to make the current evensum
even2 = evensum;
}
num1 = num2;
num2 = sum;
System.out.println("The current sum is: " + sum);
System.out.println("The current Even sum is: " + evensum);
}
}
}
Так мои 2 вопросы, 1. Почему не мой план, чтобы получить сумму четных чисел работает правильно? и 2. В прошлый раз, когда мой цикл работает, он использует num2, который составляет> 4000000. Почему?
Спасибо!
добавьте детали вопроса и отформатируйте вопрос, пожалуйста, для лучшей читаемости. – nullpointer
Эй, @Adbelhak, можете ли вы рассказать мне, что я сделал не так в своем форматировании, который не включал мою первую и последнюю строки? Я просто вставил свой код в место, созданное при нажатии кнопки «Код». Благодаря! –