Курс 3.8 — Алгоритмы · Раздел 01 · Урок 1.3

Задача 1.2 — Последовательность 1, 3, 7, 15…

Построим последовательность, получая каждое новое число из предыдущего.

Построим последовательность, получая каждое новое число из предыдущего.
1.3 — Задача 1.2 — Последовательность 1, 3, 7, 15…

Материал урока

Нам нужно вывести n чисел такой последовательности:

1 3 7 15 ...

Каждое число можно посчитать по формуле:

Формула последовательности: Aᵢ = 2ⁱ − 1
Формула последовательности: Aᵢ = 2ⁱ − 1

но мы пойдём практичным путём — будем получать каждое новое число из предыдущего, просто умножая на 2 и прибавляя 1.

n = int(input("Введите n: "))
ai = 1
for i in range(n):
    print(ai, end=" ")
    ai = ai * 2 + 1

Плюсы такого метода:

  • Мы не пересчитываем всё с нуля каждый раз.
  • Легко расширить алгоритм под другие последовательности.