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

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

Задача:
найти наименьшее значение 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)

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

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

ЦИКЛ FOR
Цикл for вызывается для каждого числа в некотором наборе, который создается с помощью функции range(). Цикл for имеет следующую конструкцию: ...
Центральный и вписанный углы
Точнее даже окружнетки, потому что центральные и вписанные углы бывают скорее в окружности, чем в круге. Центральный угол — это такой, у которого...
Лирика
Хочешь узнать, что такое лирика? Вся самая важная информация собрана на картинке, сохраняй и запоминай
Особености творчества Пушкина
Александр Сергеевич Пушкин является одним из величайших поэтов всех времен и народов. Его авторитет признан во всем мире. Он является, по сути,...
ИТОГОВОЕ СОЧИНЕНИЕ — КЛИШЕ
Для вступления: 🔸 Конечно, каждый человек по-своему ответит на этот вопрос. На мой взгляд, ... 🔸 Наверное, каждый человек хоть раз задумывался о...
«Спрос и предложение» в схемах и таблицах
Подготовили для вас подборку классных схем и таблиц по теме «Спрос и предложение»! Теория по этой теме появилась во второй части ЕГЭ по...

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

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