Рекурсивные алгоритмы
1. Ниже на пяти языках программирования записан рекурсивный алгоритм F.
Бейсик | Python |
SUB F(n) PRINT n IF n > 0 THEN F(n - 1) F(n - 3) END IF END SUB | def F(n): print(n) if n > 0: F(n - 1) F(n - 3) |
Паскаль | Алгоритмический язык |
procedure F(n: integer); begin writeln(n); if n > 0 then begin F(n - 1); F(n - 3) end end | алг F(цел n) нач вывод n, нс если n > 0 то F(n - 1) F(n - 3) все кон |
Си | |
void F(int n) { printf("%d\n", n); if (n > 0) { F(n - 1); F(n - 3); } } |
Чему равна сумма всех чисел, напечатанных на экране при выполнении вызова F(5)?
2. Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = n при n ? 2;
F(n) = F(n ? 1) ? F(n ? 2) при n> 2.
Чему равно значение функции F(7)? В ответе запишите только натуральное число.
3. Алгоритм вычисления значения функции F(n) и G(n), где n – натуральное число, задан следующими соотношениями:
F(1) = 1
F(n) = 2 * G(n–1) + 5 * n, при n >1
G(1) = 1
G(n) = F(n–1) + 2 * n, при n >1
Чему равно значение функции F(4) + G(4)?
В ответе запишите только натуральное число.
4. Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:
F(1) = 1
F(2) = 1
F(n) = F(n–1) * n ? 2 * F(n–2), при n >2
Чему равно значение функции F(6)?
В ответе запишите только натуральное число.
5. Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 2 при n ? 2;
F(n) = F(n ? 1) + 3 · F(n ? 2) при n > 2.
Чему равно значение функции F(5)? В ответе запишите только натуральное число.


