Рекурсивная функция (задачи)
Ниже на пяти языках программирования записана рекурсивная функция (процедура) F.
Бейсик | Python |
---|---|
SUB F(n) PRINT n, IF n > 2 THEN F(n − 1) F(n − 2) F(n − 3) END IF END SUB |
def F(n): print (n) if n > 2: F(n − 1) F(n − 2) F(n − 3) |
Паскаль | Алгоритмический язык |
procedure F(n: integer); begin write(n); if n > 2 then begin F(n − 1); F(n − 2); F(n − 3) end end; |
алг F(цел n) нач вывод n если n > 2 то F(n − 1) F(n − 2) F(n − 3) все кон |
Си | |
void F(int n ){ cout « n « endl; if (n > 2) { F(n − 1); F(n − 2); F(n − 3); } } |
Что выведет программа при вызове F(4)? В ответе запишите последовательность выведенных цифр слитно (без пробелов).
Ниже на пяти языках программирования записан рекурсивный алгоритм F.
Бейсик | Python |
---|---|
SUB F(n) IF n > 0 THEN PRINT N F(n − 4) F(n \ 2) END IF END SUB |
def F(n): if n > 0: print(n) F(n − 4) F(n // 2) |
Паскаль | Алгоритмический язык |
procedure F(n: integer); begin if n > 0 then begin write(n); F(n − 4); F(n div 2); end end; |
алг F(цел n) нач если n > 0 то вывод n F(n − 4) F(div(n,2)) все кон |
С++ | |
void F (int n) { if (n > 0) { std::cout << n; F (n − 4); F (n / 2); } } |
Запишите подряд без пробелов и разделителей все числа, которые будут напечатаны на экране при выполнении вызова F(9). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.