Если бы я хотел изменить первое число в последовательности, я бы, вероятно, начал с просмотра строки:
int firstNumber{0};
Я предлагаю вы просто инициализируете это значение единицей, а не нулем. Это изменит вашу последовательность с {0, 1, 1, 2, 3, 5, 8, ...}
на {1, 1, 2, 3, 5, 8, 13, ...}
.
Однако, если на самом деле проблема в том, что первое число неверно, это, вероятно, потому, что вы доставляете sumNumber
во всех случаях. Поскольку это значение начинается с с 0 + 1
, оно не будет правильным для F<sub>0</sub>
. Вы можете исправить это, обрабатывая F<sub>0</sub>
и F<sub>1</sub>
как особые случаи, вводя l oop только для F<sub>n</sub>, n > 1
:
int sumNumber;
if (userParameter == 0) {
sumNumber = firstNumber;
} else if (userParameter == 1) {
sumNumber = secondNumber;
} else {
for (int i = 2; i <= userParameter; i++) {
sumNumber = firstNumber + secondNumber;
firstNumber = secondNumber;
secondNumber = sumNumber;
}
}