Приведу пример задачи: Из условия мы видим, что знаем только то, что при n = 1 функция F возвращает единицу. Кроме того, если n > 1, то функция вернет F(n - 1) * n. То есть функция будет вызывать сама себя до тех пор, пока n не станет равной единице. Мы можем расписать данную задачу на бумаге: F(5) = F(4) * 5 F(4) = F(3) * 4 F(3) = F(2) * 3 F(2) = F(1) * 2 F(1) = 1 Теперь собираем снизу-вверх: F(1) = 1 F(2) = F(1) * 2 = 1 * 2 = 2 F(3) = F(2) * 3 = 2 * 3 = 6 F(4) = F(3) * 4 = 6 * 4 = 24 F(5) = F(4) * 5 = 24 * 5 = 120 Ответ: 120 Данную номер ЕГЭ можно также решать и с помощью программирования: def f(n):
if n == 1:
return 1
return f(n - 1) * n
print(f(5)) Обратите внимание, что перед return f(n - 1) * n не надо ставить условие n > 1, т. к. мы уже учли, что если n == 1, то возвращается 1, поэтому уже только при n > 1 это будет выполняться. Но если вы сделаете, например, так: def f(n):
if n == 1:
return 1
if n > 1:
return f(n - 1) * n
print(f(5))