мета-данные страницы
Загрузка не удалась. Возможно, проблемы с правами доступа?
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версия | Последняя версияСледующая версия справа и слева | ||
haskell:fibb [15/10/2014 18:47] – vlasov | haskell:fibb [15/10/2014 18:54] – vlasov | ||
---|---|---|---|
Строка 55: | Строка 55: | ||
</ | </ | ||
- | Более | + | Сделаем аналог |
<code haskell> | <code haskell> | ||
- | fib a b 0 | + | f a b 0 = b |
- | fib a b (c+1) = fib (a+b) a c | + | f a b n = f b (a+b) (n-1) |
+ | fib n = f 1 1 n | ||
</ | </ | ||
запуск осуществляется так: | запуск осуществляется так: | ||
<code haskell> | <code haskell> | ||
- | fib 0 1 n | + | fib n |
</ | </ | ||
+ | |||
+ | Этот вариант уже не имеет проблемных мест и позволяет вычислять даже 100000-й элемент последовательности за 0.5-1.5 минуты на ноутбуке. | ||
Другой вариант из сайта [[http:// | Другой вариант из сайта [[http:// |