Fibonacci sequence with natural numbers
Напишите программу, которая из двух заданных натуральных чисел ? и ? создаст список, содержащий элементы ?, являющиеся элементами последовательности Фибоначчи, по алгоритму:
c=a+b
a=b
b=c
пока ? не превысит (?+?)^3, затем вернет сумму всех элементов созданного списка.
Например:
Для ?=2,?=4 он вернет список символов [6, 10, 16, 26, 42, 68, 110, 178] и сумму 456.
Мой код:
a, b = 2, 4
L = []
c = 0
while c != (a + b) ** 3:
c = a + b
a = b
b = c
L.append(c)
print(L)
print(sum(L))
Мне нужно, чтобы он выдавал [6, 10, 16, 26, 42, 68, 110, 178] и сумму 456, но он даже не компилируется
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
Судя по примеру, вам нужно запомнить начальные значения a,b и сравнивать с с кубом их суммы.
И "пока не превысит" не означает, что нужно ловить строгое равенство.
t = (a + b) ** 3
c = a + b
while c <= t:
L.append(c)
a = b
b = c
c = a + b