Автор | Сообщение |
|
Отправлено: 23.07.21 16:15. Заголовок: Задача Р-05 из задания 16
Алгоритм вычисления функции F(n) задан следующими соотношениями: F(n) = 2n при n <= 5 F(n) = F(n–2) + 3*F(n/2) + n, если n > 5 и чётно, F(n) = F(n–1) + F(n–2) + F(n–3), если n > 5 и нечётно. Чему равно значение функции F(99) + F(100) На Паскале: var F(n:integer):integer; begin if n <= 5 then F:= 2*n; if (n > 5) and (n mod 2=0) then F: = F(n–2) + 3*F(n/2) + n; if (n > 5) and (n mod 2<>0) then F:= F(n–1) + F(n–2) + F(n–3); end; begin write(F(99)+F(100); end. Где ошибка?
|
|
|
Новых ответов нет
[см. все]
|
|
|
Отправлено: 24.07.21 17:27. Заголовок: Ответ
Светлана Митрофанова пишет: А Вы запускали свою программу на выполнение? F( n:integer): integer --> F(n div 2) цитата: | function F(n: integer): integer; begin if n <= 5 then F:= 2*n; if (n > 5) and (n mod 2=0) then F:= F(n-2) + 3*F(n div 2) + n; if (n > 5) and (n mod 2<>0) then F:= F(n-1) + F(n-2) + F(n-3); end; begin write(F(99)+F(100)); end. |
|
|
|
|