Числа Фибоначчи
Все знают, что такое числа Фибоначчи:
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711
Если забыли, то это такая последовательность чисел, где каждое число равно сумме двух предыдущих.
Предположим, у нас есть целое число N, и нам надо вычислить N-е число Фибоначчи и, не вычисляя это число, найти его последнюю цифру.
Начнем с того, что число может быть огромным (числа Фибоначчи растут очень быстро), а если мы будем держать в памяти весь ряд, то никакого профита мы не получим.
Поэтому оптимальным решением является создание функции-генератора. Если вы о них никогда не слышали, очень полезно будет о них почитать. Итак, напишем код, который выведет в консоль N-е число Фибоначчи:
Теперь найдем последнюю цифру N-ого числа Фибоначчи.
Неправильно будет использовать код выше - ведь нас интересует только последняя цифра.
Если 0 ≤ a, b ≤ 9 – последние цифры чисел Fi и Fi+1 соответственно, то (a + b)mod10 – последняя цифра числа Fi+2.
Следовательно, мы пройдемся только по последним цифрам: