
Леонид
5 год назад
Пожалуйста посчитайте решить пожалуйста, нужно именно решение т.к ответы знаю 32 ответ 58, а 33 ответ 15

ОТВЕТЫ

Osip
Oct 24, 2020
Количество символов "*" соствует количеству вызовов рекурсивных процедур.
32. Таблица вызовов см. рис.
При выполнении вызова F(6) сначала на экран выводится "*", затем, так как 6>0, то последовательно выполняются вызовы F(6-2); F(6-2); F(6 div 2) (то есть F(4); F(4);F(3)).
При вызове F(4) сначала на экран выводится "*", затем, так как 4>0, то последовательно выполняются вызовы F(4-2); F(4-2); F(4 div 2) (то есть F(2); F(2);F(2)).
При втором вызове F(4) выполняется, естественно, тоже самое.
Рекурсивные вызовы процедуры закончатся как только значение параметра n станет <=0 (в нашем случае это 0 или -1).
Количество вызовов = 1+3+9+9*3+6*3= 58
33. Таблица вызовов см. рис.
Количество вызовов = 1+2+4+6+2 = 15
32. Таблица вызовов см. рис.
При выполнении вызова F(6) сначала на экран выводится "*", затем, так как 6>0, то последовательно выполняются вызовы F(6-2); F(6-2); F(6 div 2) (то есть F(4); F(4);F(3)).
При вызове F(4) сначала на экран выводится "*", затем, так как 4>0, то последовательно выполняются вызовы F(4-2); F(4-2); F(4 div 2) (то есть F(2); F(2);F(2)).
При втором вызове F(4) выполняется, естественно, тоже самое.
Рекурсивные вызовы процедуры закончатся как только значение параметра n станет <=0 (в нашем случае это 0 или -1).
Количество вызовов = 1+3+9+9*3+6*3= 58
33. Таблица вызовов см. рис.
Количество вызовов = 1+2+4+6+2 = 15
- В задаче номер 32. Там 1+3+9+9*3+6*3 подскажите откуда тройки ?
331
Смежные вопросы: