function F(n: integer): Int64; // Возвращаемый тип - Int64
begin
if n = 1 then
F := 1
else if n > 1 then
F := n * F(n - 1);
end;
begin
// Используем упрощенное выражение:
writeln(2023 * 2022 * 2021);
// Или, если очень хочется использовать функцию F (менее эффективно, но демонстрирует Int64):
// writeln(Int64(F(2023)) div Int64(F(2020))); //Явное приведение типов
end.
Задание:
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 1 при n = 1;
F(n) = n · F(n − 1), если n > 1.
Чему равно значение выражения F(2023) / F(2020)?
(ответ 8266912626)
Решение:
function F(n:integer):integer;
begin
if n=1 then F := 1
else if n>1 then F :=F(n-1)*n;
end;
begin
write (F(2023) / F(2020));
end.
Выдаёт совсем другой ответ