Ниже на пяти языках программирования записан рекурсивный алгоритм F.
| Бейсик | Python |
|---|---|
SUB F(n) PRINT n IF n < 4 THEN F(n + 1) F(n + 3) END IF END SUB | def F(n): print(n) if n < 4: F(n + 1) F(n + 3) |
| Алгоритмический язык | Паскаль |
алг F(цел n) нач вывод n, нс если n < 4 то F(n + 1) F(n + 3) все кон | procedure F(n: integer); begin writeln(n); if n < 4 then begin F(n + 1); F(n + 3) end end |
| Си | |
void F(int n) { cout << n; if (n < 4) { F(n + 1); F(n + 3); } } | |
Чему равна сумма всех чисел, напечатанных на экране при выполнении вызова F(1)?
Промоделируем работу алгоритма:
F(1)
F(2)
F(3)
F(4)
F(6)
F(5)
F(4)
Сложив все значения, получим 25.

