стека, если он не


стека, если он не равен единице. В этом случае мы снижаем требования к размерности массива, так для вычисления, например, 1000-го элемента потребуется стек из 17 ячеек, но, по-прежнему, условие задачи не выполнено, массив есть. Из формулировки задачи явно просматривается рекурсивная схема реализации. function rec(n:integer):integer; begin if n=1 then rec:=1 else if n div 2 =0 then rec:=rec(n div 2) else rec:=rec((n-1) div 2)+rec((n+1) div 2); end; Массива в явном виде нет. Однако глубина вложенности подпрограмм в конкретных языках программирования ограничена, и это обстоятельство определяет пределы применимости данной логики. Ее можно улучшить, сократив лишние рекурсивные вызовы (рассмотрите случай, когда n=64). function rec(n:integer):integer; begin while n div 2=0 do n:=n div 2; if n=1 then rec:=1 else rec:=rec((n-1) div 2)+rec((n+1) div 2); end; И все же это не окончательный вариант решения. Из вышеприведенного рисунка видим, что в процессе эволюции (вычисление
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


цена аренды гидроцикла, прогулка аренда катера, аренда яхты с капитаном москва
Hosted by uCoz