мета-данные страницы
Загрузка не удалась. Возможно, проблемы с правами доступа?
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версия | |||
haskell:fibb [15/10/2014 18:54] – vlasov | haskell:fibb [15/10/2014 18:59] (текущий) – vlasov | ||
---|---|---|---|
Строка 32: | Строка 32: | ||
</ | </ | ||
- | Эксперименты показывают, | + | (Эксперименты показывают, |
Рассмотрим императивное решение с циклом на Паскале: | Рассмотрим императивное решение с циклом на Паскале: | ||
Строка 43: | Строка 43: | ||
begin | begin | ||
f1:=1; f2:=1; | f1:=1; f2:=1; | ||
- | write (' | + | write (' |
- | 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 (' | writeln (' | ||
Строка 55: | Строка 52: | ||
</ | </ | ||
- | Сделаем аналог его, но уже с рекурсией вместо цикла. Рекурсия получится линейной, | + | Эта программа позволяет быстро вычислять до 92-го члена последовательности (дальше возникают проблемы с превышением числового диапазона Int64). |
+ | |||
+ | Сделаем аналог его, но уже с рекурсией вместо цикла. Рекурсия получится линейной, | ||
<code haskell> | <code haskell> |