Какое число будет выведено в результате выполнения следующей программы? Постарайтесь ответить без запуска программы в среде программирования. function F(N: integer) : longint; begin Result := 1; if N больше 0 then Result...
Какое число будет выведено в результате выполнения следующей программы? Постарайтесь ответить без запуска программы в среде программирования.
function F(N: integer) : longint;
begin
Result := 1;
if N > 0 then Result := F(N-1) +1;
end;
begin
Writeln(F(2012));
end.
Ответ(ы) на вопрос:
Получится 2012, так как функция для каждого N от 1 до 2012 прибавляет 1.
[latex]F(2012)=F(2011)+1 \\ F(2011)=F(2010)+1 \to F(2012)=F(2010)+2 \\ F(2010)=F(2009)+1 \to F(2012)=F(2009)+3 \\ ... \\ F(2)=F(1)+1 \to F(2012)=F(2)+2010 \\ F(1)=F(0)+1 \to F(2012)=F(0)+2012 \\ F(0)=1 \to F(2012)=1+2012=2013 [/latex]
Ответ: 2013
Не нашли ответ?
Похожие вопросы