Дан рекурсивный алгоритм:
procedure F(n: integer);
begin
writeln(n);
if n < 5 then begin
F(n+2);
F(n*2)
end
end;
Отметьте числа, которые будут выведены при вызове F(1).
1
2
3
4
5
6
8
10
14
287
423
Ответы на вопрос:
1,2,3,4,5,6,8
Объяснение:
Что напечатается:
1
3
5
6
2
4
6
8
4
6
8
При вызове F(1) печатается 1. Дальше вызовется F(3)
Напечатается 3. Вызовется F(5)
Напечатается 5. F(7) не вызывается, т.к. 7>5
Теперь вызывается вторая функция для F(3), то есть F(6)
Печатается 6. Дальше вызывается вторая функция для F(1), то есть F(2)
Печатается 2. Вызывается первая функция для F(2), т.е. F(4).
Печатается 4. Вызывается первая функция для F(4), т.е. F(6).
Печатается 6. Вызывается вторая функция для F(4), т.е. F(8)
Печатается 8. Вызывается вторая функция для F(2), т.е. F(4)
Печатается 4. Вызываются первая и вторая функции F(6) и F(8)
Печатается 6
Печатается 8
A[3]=6; a[4]=5; a[3]=5; a[4]=5; ответ: a[3]=5; a[4]=5; a[3]=3; a[4]=2; b=3; a[3]=2; a[4]=3; ответ: a[3]=2; a[4]=3;
Популярно: Информатика
-
Blazethecat21815.07.2020 00:01
-
DanilSoldatkin08.04.2023 17:34
-
Даринка3000017.03.2020 23:45
-
иьыдсьызыщдцба09.07.2022 20:55
-
elik2004.05.2021 23:00
-
Гулзат111113.06.2023 15:55
-
Hactenьka16.10.2020 01:16
-
Анюта411111104.11.2020 16:24
-
Galina30308.04.2021 04:32
-
акл206.06.2022 23:52