Задания
Версия для печати и копирования в MS Word
Тип 16 № 47220
i

Ал­го­ритм вы­чис­ле­ния зна­че­ния функ­ции F(n), где n  — на­ту­раль­ное число, задан сле­ду­ю­щи­ми со­от­но­ше­ни­я­ми:

F(n)  =  1 при n  =  1;

F(n)  =  n · F(n − 1), если n > 1.

 

Чему равно зна­че­ние вы­ра­же­ния F(2023) / F(2020)?

Спрятать решение

Ре­ше­ние.

За­ме­тим, что дан­ная ре­кур­сив­ная функ­ция фак­ти­че­ски под­счи­ты­ва­ет фак­то­ри­ал числа:

 дробь: чис­ли­тель: 2023!, зна­ме­на­тель: 2020! конец дроби = 2021 умно­жить на 2022 умно­жить на 2023.

 

При­ведём ре­ше­ние на языке Python.

a = {1 : 1}

for i in range(2, 2024):

a[i] = i * a[i - 1]

print(a[2023] / a[2020])

 

Ре­зуль­тат ра­бо­ты про­грам­мы  — 8266912626.

 

Ответ: 8266912626.

 

При­ведём ре­ше­ние Бо­ри­са Са­ве­лье­ва на языке Python.

from sys import setrecursionlimit

setrecursionlimit(10000)

def F(n):

if n == 1:

return 1

elif n > 1:

return n*F(n-1)

print(F(2023)//F(2020))

Источник: Де­мон­стра­ци­он­ная вер­сия ЕГЭ−2023 по ин­фор­ма­ти­ке