Вызовы Python: найдите индекс первого члена в последовательности Фибоначчи, содержащий 500 цифр
Задачи Python - 1: Упражнение 49 с решением
Напишите программу на Python, чтобы найти индекс первого члена в последовательности Фибоначчи, содержащий 500 цифр.
В математике числа Фибоначчи, обычно обозначаемые как F n, образуют последовательность, называемую последовательностью Фибоначчи, так что каждое число является суммой двух предыдущих, начиная с 0 и 1.
Последовательность Фибоначчи определяется рекуррентным соотношением:
F n = F n -1 + F n -2, где F 1 = 1 и F 2 = 1.
Следовательно, первые 12 терминов будут:
F 1 = 1
F 2 = 1
F 3 = 2
F 4 = 3
F 5 = 5
F 6 = 8
F 7 = 13
F 8 = 21
F 9 = 34
F 10 = 55
F 11 = 89
F 12 = 144
12- й член, F 12 , это первый член, который содержит три цифры.
Пример решения :
Код Python:
import itertools
def Fibonacci_sequence(n):
DIGITS = n
prev_num = 1
cur_num = 0
for i in itertools.count():
# At this point, prev = fibonacci(i - 1) and cur = fibonacci(i)
if len(str(cur_num)) > DIGITS:
raise RuntimeError("Not found")
elif len(str(cur_num)) == DIGITS:
return str(i)
prev_num, cur_num = cur_num, prev_num + cur_num
print(Fibonacci_sequence(500))
Пример вывода:
2390
Блок - схема:
Редактор кода Python:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу на Python, чтобы найти миллионную лексикографическую перестановку цифр 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9.
Далее: Напишите программу на Python, чтобы найти самый большой палиндром из двух четырехзначных чисел.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования