Просмотр задания
Чему равна сумма всех чисел, на­пе­ча­тан­ных на экра­не при вы­пол­не­нии вы­зо­ва F(10)?


procedure F(n: integer);
begin
if n > 0 then
begin
F(n - 4);
F(n div 3);
writeln(n)
end
end;
Гость
4 февраля 2016
Ответы (1)
Информатик БУ # 4 февраля 2016 в 14:08 0
При n>0 вызываются процедуры F(n-4) и F(n div 3). При этом каждый раз, когда выполняется условие, на экран выводится значение n.
Построим граф, отображающий все процедуры, которые будут вызваны при вызове процедуры F(10):

Отметим процедуры, которые будут выводить n, то есть те, где n>0:

Получается, что сумма выведенных на экран чисел равна:
10+6+2+2+3+1 = 24
Перевести число из в Результат: 510 = 1012