Найти - Пользователи
Полная версия: Стек
Начало » Центр помощи » Стек
1
1AKU1
Используя функцию-генератор из задачи , среди первых членов последовательности найти последнее число, кратное 3

   
def gen(n, a0, a1, a2, a3):
    if n == 4:
        return
    a0, a1, a2, a3 = a1, a2, a3, 3 * a2 - a0
    if a3 % 7 in (2, 5):
        yield a3
    yield from gen(n - 1, a0, a1, a2, a3)
an = [1, 0, 2, 1]
for i in gen(100, *an):
   print(i)
FishHook
1AKU1
найти последнее число, кратное 3
ну и в чем проблема?
  i % 3
1AKU1
FishHook
нужно использовать стек
py.user.next
1AKU1
нужно использовать стек
Его по-разному можно использовать. Как конкретно использовать?

Один из 100500 способов
  
>>> def gen(n, a0, a1, a2, a3):
...     if n == 4:
...         return
...     a0, a1, a2, a3 = a1, a2, a3, 3 * a2 - a0
...     if a3 % 7 in (2, 5):
...         yield a3
...     yield from gen(n - 1, a0, a1, a2, a3)
... 
>>> an = [1, 0, 9, 1]
>>> stack = list(gen(100, *an))
>>> 
>>> out = None
>>> while stack:
...     n = stack.pop()
...     if n % 3 == 0:
...         out = n
...         break
... 
>>> print(out)
1166035962247502391369
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB