Данные числа представляют собой сумму двух предыдущих чисел... Вот
ряд этих чисел: 1 - 1 - 2 - 3 - 5 - 8 - 13 - 21 - 34... и т.д. Напомню вам код для данного расчета:
Если с пониманием логики его работы имеются проблемы - давайте подробным образом разберем его работу. Сделаем мы это на примере нескольких циклов данного кода.
Пошаговый разбор работы цикла While
Давайте подробно посмотрим как происходит работа данного цикла виток за витком (пройдем несколько витков для понимания логики работы):
Начало цикла, ПЕРВЫЙ проход (на печать выводится 1)
Исходные данные:
fib_prev = 0 fib_cur = 1
3 строка
while fib_cur < 100:
Осуществляется проверка истинности условия, что значение переменной fib_cur < 100
4 строка Команда вывести
на печать значение переменной fib_cur в одну строку через запятую.
5 строка
fib_sum = fib_prev + fib_cur
После того, как на экран выведется значение переменной fib_cur, которое равно 1, осуществляем операцию сложения предыдущего числа fib_prev и текущего числа fib_cur и их результат присваиваем переменной
fib_sum fib_prev + fib_cur, т.е. 0 + 1 = 1 Эта переменная является промежуточным хранением значения суммы.
6 строка
fib_prev = fib_cur
Переменной fib_prev присвоить значение переменной fib_cur.
После этого шага в переменной fib_prev находится уже 1, а не 0
как в самом начале цикла.
7 строка fib_cur = fib_sum Переменной fib_cur присвоить значение переменной fib_sum после выполнения операции сложения. После этого шага в переменной fib_cur записывается 1, поскольку: fib_prev + fib_cur, т.е. 0 + 1 = 1
Результат ПЕРВОГО витка цикла while для расчета числа
Фибоначчи:
По окончании первого витка цикла: В переменной fib_prev находится уже 1, а не 0 как в самом начале цикла. В переменной fib_cur также находится 1 Эти значения становятся исходными данными для начала ВТОРОГО витка цикла