Ниже ** пяти языках программирования записан рекурсивный алгоритм F. Бейсик: FUNCTION...

0 голосов
141 просмотров

Ниже на пяти языках программирования записан рекурсивный алгоритм 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)? С подробным описанием алгоритма решения пожалуйста.


Информатика (12 баллов) | 141 просмотров
Дан 1 ответ
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

(7.8k баллов)