Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
haskell:fibb [15/10/2014 18:54]
vlasov
haskell:fibb [15/10/2014 18:59] (текущий)
vlasov
Строка 32: Строка 32:
 </​code>​ </​code>​
  
-Эксперименты показывают,​ что вычисления с мемоизацией не ускоряют бинарную рекурсию,​ лавиноообразное число вызовов с ростом n становится слишком велико.+(Эксперименты показывают,​ что вычисления с мемоизацией не ускоряют бинарную рекурсию,​ лавиноообразное число вызовов с ростом n становится слишком велико).
  
 Рассмотрим императивное решение с циклом на Паскале:​ Рассмотрим императивное решение с циклом на Паскале:​
Строка 43: Строка 43:
 begin begin
 f1:=1; f2:=1; f1:=1; f2:=1;
-write ('​please,​ input n='); +write ('​please,​ input n='); read(n);
-read(n);+
 for i:=1 to (n-2) do  for i:=1 to (n-2) do 
 begin begin
- f3 := f2 + f1; + f3 := f2 + f1;  f1 := f2;  f2 := f3
- f1 := f2; +
- f2 := f3+
 end; end;
 writeln ('​f=',​ f3); writeln ('​f=',​ f3);
Строка 55: Строка 52:
 </​code>​ </​code>​
  
-Сделаем аналог его, но уже с рекурсией вместо цикла. Рекурсия получится линейной,​ и добавится новый параметре __//​аккумулятор//​__:​+Эта программа позволяет быстро вычислять до 92-го члена последовательности (дальше возникают проблемы с превышением числового диапазона Int64). 
 + 
 +Сделаем аналог его, но уже с рекурсией вместо цикла. Рекурсия получится линейной,​ и добавится новый параметр ​"__//​аккумулятор//​__":
  
 <code haskell> <code haskell>
haskell/fibb.txt · Последние изменения: 15/10/2014 18:59 — vlasov
CC Attribution-Noncommercial 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0