Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3542494
А
Аноним
11 января 2026 16:55 · публичный вопрос
А
Аноним

Определите, сколько символов * выведет эта процедура при вызове F(40): Python Паскаль C++ def F( n ): print('*') if n >= 1: print('*') F(n-1) F(n-3) print('*')

Ответ нейросети
11 января 2026 16:55

Задача сводится к подсчету числа выводов символа '*' при вызове F(n).

  1. Анализ кода
  • Пусть T(n) — сколько символов '*' напечатает вызов F(n).
  • Всегда выполняется первый print('*'), поэтому для любого n T(n) по крайней мере 1.
  • Затем если n >= 1 выполняются еще: print(''), рекурсивные вызовы F(n-1) и F(n-3), и в конце ещё print('').
  • Значит для n >= 1 общее число печатей равно T(n) = 1 (перед рекурсией) + T(n-1) + T(n-3) + 1 (после рекурсий) + 1 (первый внеусловный вывод) = 3 + T(n-1) + T(n-3).
  • Для n <= 0 условие if нe выполняется, поэтому печатает только первый print, следовательно T(n) = 1.

Итоговая рекуррентная формула:

  • T(n) = 1 при n <= 0
  • T(n) = 3 + T(n-1) + T(n-3) при n >= 1
  1. Вычисление значений (первичные шаги)
  • T(0) = 1
  • T(-1) = 1
  • T(-2) = 1
  • T(1) = 3 + T(0) + T(-2) = 3 + 1 + 1 = 5
  • T(2) = 3 + T(1) + T(-1) = 3 + 5 + 1 = 9
  • T(3) = 3 + T(2) + T(0) = 3 + 9 + 1 = 13
  • T(4) = 3 + T(3) + T(1) = 3 + 13 + 5 = 21
  • T(5) = 3 + T(4) + T(2) = 3 + 21 + 9 = 33
  • T(6) = 3 + T(5) + T(3) = 3 + 33 + 13 = 49
  • T(7) = 3 + T(6) + T(4) = 3 + 49 + 21 = 73
  • T(8) = 3 + T(7) + T(5) = 3 + 73 + 33 = 109
  • T(9) = 3 + T(8) + T(6) = 3 + 109 + 49 = 161
  • T(10) = 3 + T(9) + T(7) = 3 + 161 + 73 = 237 (Дальше по той же рекуррентной схеме можно продолжать до нужного n.)
  1. Результат для F(40) По расчёту по той же схеме до n = 40 получаем: T(40) = 22 947 841

Ответ одинаков для всех трёх языков (Python, Pascal, C++, т.к. речь идёт о количестве вызовов печати, а не о синтаксисе языка).

Итого:

  • Python: 22 947 841 выводов символа '*'
  • Pascal: 22 947 841
  • C++: 22 947 841

Если хотите, могу показать полный табличный ход вычислений до 40 или привести небольшой скрипт, который посчитает это автоматически.