Сколько раз будет вызываться функция f при подсчете f(15)? самый первый вызов тоже считается. например при подсчете f(1) функция будет вызвана 1 раз. , с решением function f(n: integer): integer; var i,sum: integer; begin sum: =1; for i: =2 to n-2 do begin if i*i mod n > n div 2 then sum: = sum + f(i) + i end; f: =sum; end;

supervitalik15 supervitalik15    1   26.06.2019 11:10    0

Ответы
ms002 ms002  02.10.2020 12:10
Function f(n: integer): integer;
var
    i, sum: integer;
begin
    writeln('f(', n,')');
    sum := 1;
    for i := 2 to n - 2 do
    begin
        if i * i mod n > n div 2 then
            sum := sum + f(i) + i
    end;
    f := sum;
end;

begin
    writeln(f(15));
end.

При запуске выдало:
f(15)
f(3)
f(5)
f(2)
f(3)
f(10)
f(3)
f(4)
f(6)
f(2)
f(4)
f(7)
f(2)
f(5)
f(2)
f(3)
f(12)
f(3)
f(9)
f(4)
f(5)
f(2)
f(3)
122

Посчитав строчки получаем 23 раза вызвалась функция)
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика