• Предмет: Информатика
  • Автор: xlrrrrrrrrr
  • Вопрос задан 2 года назад

Придумайте рекуррентное соотношение, задающее следующие числовые последовательности:h) 0, 1, 2, 3, 0, 1, 2, 3, 0, . . .(на языке python)

Ответы

Ответ дал: HP2020
1

Ответ:

a_{i+1}=(a_{i}+1)\mathop{\mathrm{mod}}4

a = (a + 1) % 4

Объяснение:

Последовательность похожа на последовательность остатков от последовательных чисел при делении на 4: 0, 1, 2, 3, потом опять 0 (4 ведь не может быть), 1, 2, 3, ...

Так и построим:

Первый член: a = 0

Следующий член: (a + 1) % 4

Генератор для такой последовательности может выглядеть так:

def seq():

   a = 0

   while True:

       yield a

       a = (a + 1) % 4


xlrrrrrrrrr: а через рекурсию как-то можно написать этот код?
HP2020: Напишите функцию f(n), которая будет выдавать n-е число в этой последовательности. f(n) = (f(n - 1) + 1) % 4, если n > 1, и 0, если n = 1.
xlrrrrrrrrr: все равно ничего не понял можете весь код написать пожалуйста?
Вас заинтересует