Главная / Программирование на языке Pascal / Какие из приведенных ниже подпрограмм вычисляют функцию двойного факториала (n!!), определяемую следующим образом: 0!! =1 1!! = 1 n!! = n*(n-2)!!, для любого натурального n.

Какие из приведенных ниже подпрограмм вычисляют функцию двойного факториала (n!!), определяемую следующим образом: 0!! =1 1!! = 1 n!! = n*(n-2)!!, для любого натурального n.

вопрос

Правильный ответ:

function f(n,k:longint):longint; var ff: longint; begin if (k=0)or(k=n) then f:= 1 else if k>n then f:= 0 else begin ff:= f(n-1,k-1)+f(n-1,k); f:= ff end; end;
function f(c:longint):longint; var a: array[1..1000]of longint; i: integer; begin a[1]:= 1; a[2]:= 1; for i:= 3 to c do a[i]:= a[i-1]+a[i-2]; f:= a[c] end;
function f(c:longint):longint; begin if (c=0)or(c=1) then f:= 1 else f:= f(c-2)*c end;
function f(c:longint):longint; begin if c =1 then f:= 1 else f:= f(c-1)+f(c-2) end;
function f(n,k:longint):longint; var a: array[0..n]of longint; i,j,t,tt: longint; begin if k>n then f:= 0 else if (k=n)or(k=0) then f:= 1 else begin a[0]:= 1; a[1]:= 1; for i:= 2 to k do a[i]:= 0; for i:= 2 to n do begin t:= 1; for j:= 1 to i-1 do begin tt:= a[j]+t; t:= a[j]; a[j]:= tt; end; a[i]:= 1; end end; f:= a[k] end;
function f(c:longint):longint; var ff: longint; begin ff:= 1; while c >1 do begin ff:= ff*c; dec(c,2); end; f:= ff end;
Сложность вопроса
65
Сложность курса: Программирование на языке Pascal
75
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
Если бы не эти решения - я бы сломался c этими тестами intuit.
14 фев 2020
Аноним
Это очень заурядный тест интуит.
17 май 2018
Оставить комментарий
Другие ответы на вопросы из темы программирование интуит.