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

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

Задача:
найти наименьшее значение 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 | климатические пояса
III тип — климатические пояса 📜 Алгоритм решения: ① Находим объекты на карте, определяем их климатические пояса; ② Располагаем объекты...
Все типы 8-го задания в ЕГЭ-2023 по географии
1 тип - грамотность Расположите страны в порядке понижения в них показателя грамотности, начиная со страны с наибольшим значением показателя. ...
Климатограммы в таблицах
Субтропический муссонный пояс Субарктический пояс Умеренный резко-континентальный пояс Субтропический континентальный пояс ...
Проводящая система сердца
Возможно, вы не слышали такого словосочетания, но точно знаете из прошлого шага, что сердце способно самостоятельно сокращаться. Даже если вынуть его...

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

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