Рекурсивные алгоритмы — кодом

Редакция Без Сменки
Честно. Понятно. С душой.

Задача:
найти наименьшее значение n, при котором сумма чисел, которые будут выведены при вызове F(n), будет больше 5000000. (записать n, а затем сумму выведенных чисел)

def F(n):
print(2*n+1)
if n > 1:
⠀⠀⠀print(3*n-8)
⠀⠀⠀⠀F(n — 1)
⠀⠀⠀⠀F(n — 4)

🔷Решим задачу кодом:
•будем проверять текущую сумму чисел вызова f(n) через цикл while: если сумма меньше или равно 5000000, увеличиваем число n. Иначе выходим — нашли наименьшее значение.
•подсчет текущей суммы вынесем в отдельную функцию f(n)

🔷Функция f(n):
•воспользуемся переменной s для нахождения суммы чисел
•все выводы чисел суммируем в s, в том чисел и сумму чисел от вызовов f(n-1) и f(n-4)

Где вы учитесь?

Вам также будет интересно

ТОП-5 терминов для сочинения в литературе
Подготовили для вас ТОП - 5 терминов, которые могут пригодиться в КАЖДОМ сочинении! Скорее сохраняйте себе! Эпитет Художественное определение. ...
Фразовый глагол give
1. Give away – дарить (подарки), раздавать что-либо, выдавать (секрет). He gave away the secret. Он выдал секрет. 2. Give back – возвращать,...
«НОВЫЙ ЧЕЛОВЕК»
Основные черты и герои, которых можно отнести к этом типу, на картинке. Сохраняй и заучивай
PYTHON: ГРАФИКИ И ОБОЗНАЧЕНИЯ
📘 Продолжаем рассматривать примеры построения графиков с помощью библиотеки matplotlib. ➰ Часто представляют данные в виде столбчатых...
Устойчивые выражения с make
💡 Домашние обязанности / повседневные заботы: make the bed — заправлять постель make a complaint — подавать жалобу, жаловаться make a call —...
Форма государства
Есть три измерения, которые определяют сущность государства: 🔹 форма правления; 🔹 форма государственного устройства; 🔹 политический режим. ...

0 комментария

Авторизуйтесь, чтобы оставить комментарий.