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

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

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

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

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

Задание №25 в ЕГЭ по Информатике
Недавно был досрочный ЕГЭ 2022, и пора начать его разбирать. Ниже один из самых простых способов решения нового типа 25 задания ЕГЭ! Задание ...
СМИ и их роль в политической системе
СМИ — это организации, основными целями деятельности которых являются сбор, обработка и открытая публичная передача различной информации для широких...
Строение корня
Корень — это не просто кусок растения под землёй! Под землёй может находится что угодно. Например, подземный побег тоже под землёй, похож на корень и...
ЗАПЯТЫЕ В СПП
Итак, ставим запятую с СПП: 🔺 между простыми предложениями, входящими в состав сложного: Мы тронулись, когда взошло солнце. Сообщите, где вы...
Когда нужно ставить двоеточие
Сегодня мы разберем правила постановки двоеточия в простом и сложном предложениях. Итак, когда мы будем ставить двоеточие? В предложениях с...
Азот: его свойства и соединения
Азот — элемент VA группы, командир и глава пниктогенов. У азота 5 валентных электронов, два из них спарены. Максимальная валентность азота в...

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

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