![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Вот такая проблемка возникла. Нужна программа по расчету числа Фибоначчи.
Может кто-нибудь подсказать, в чем тут ошибка? Код:
Последний раз редактировалось Admin, 14.09.2009 в 10:27. |
#2
|
|||
|
|||
![]() А что неправильно-то?
Ну есть некоторые помарки, которые при неверных входных данных дадут косяк. Но по сути все правильно. Вот ошибки: 1. Число Фибоначчи для 0 и отрицательных чисел не определено. Проверки на это нет. 2. В принципе, для увеличения быстродействия при нескольких запусках можно использовать процедуру с памятью. 3. В процедуре вызове вне зависимости от того, произошла ошибка при преобразовании или нет, запускается расчет. Надо внести запуск расчета внутрь секции Try. 4. Для расчета числа фибоначи большого порядкового номера лучше использовать тип Int64 - таки там данных поболее помещается. А тип с плавающей точкой все-таки нужен для ну очень больших чисел. |
#3
|
|||
|
|||
![]() Кстати, вот функция расчета чисел фибоначи с памятью:
Код:
Считает до N = 92. Дальше - переполнение. Зато расчет абсолютно точный. |