Ниже на пяти языках программирования записан рекурсивный алгоритм F.
Бейсик:
FUNCTION F(n)
IF n > 2 THEN
F = F(n - 1) + F(n-2)
ELSE
F = n
END IF
END FUNCTION
Python:
def F(n):
if n > 2:
return F(n-1)+ F(n-2)
else: return n
Паскаль:
function F(n: integer): integer;
begin
if n > 2 then
F := F(n - 1) + F(n - 2)
else
F := n;
end;
Алгоритмический язык:
алг цел F(цел n)
нач
если n > 2
то
знач := F(n - 1)+F(n - 2)
иначе
знач := n
все
кон
C:
int F(int n)
{
if (n > 2)
return F(n-1) + F(n-2);
else return n;
}
Чему будет равно значение, вычисленное алгоритмом при выполнении вызова F(6)?
С подробным описанием алгоритма решения пожалуйста.
Ответы на вопрос
Ответил SRT1905
0
Python:
def F(n):
if n > 2:
return F(n-1)+ F(n-2)
else:
return n
если n = 1 или n = 2, то F(n) = 1
F(1)=1
F(2)=1
F(3)=F(2)+F(1)=1+1=2
F(4)=F(3)+F(2)=2+1=3
F(5)=F(4)+F(3)=3+2=5
F(6)=F(5)+F(4)=5+3=8
Ответ: F(6)=8
Новые вопросы
Русский язык,
2 года назад
Английский язык,
2 года назад
Геометрия,
7 лет назад
Алгебра,
7 лет назад
Математика,
9 лет назад
Литература,
9 лет назад