Предмет: Информатика,
автор: svetashchaulova
сколько раз будет вызываться функция 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;
archery:
обычное такое проверяется конкретным применением
Ответы
Автор ответа:
2
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 раза вызвалась функция)
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 раза вызвалась функция)
Похожие вопросы
Предмет: Русский язык,
автор: ИннаРоманькова
Предмет: Русский язык,
автор: 9GgggG9
Предмет: Английский язык,
автор: лиза032
Предмет: Русский язык,
автор: pupil15246576