Ответ(ы) на вопрос:
Гость
// PascalABC.NET 3.1, сборка 1219 от 16.04.2016
function F(n:integer):integer:=(n>100?n-10:F(F(n+4)));
begin
Print(F(90)) // как пример
end.
Но вся вычислительная проблема в том, что данная функция имеет тенденцию к зацикливанию, что через некоторое время вызывает переполнение программного стека и аварийное завершение программы.
Вот пример того, как это происходит:
F(90)=F(F(94))
F(94)=F(F(98))
F(98)=F(F(102)); F(102)=92; F(98)=F(92);
F(92)=F(F(96));
F(96)=F(F(100)); F(100)=90; F(96)=F(90) и мы вернулись к началу.
Поэтому написать такое контрольное решение, чтобы его удалось выполнить - это отдельная задача.
Не нашли ответ?
Похожие вопросы