|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.11.2011, 15:21 | #1 |
Новичок
Джуниор
Регистрация: 18.11.2011
Сообщений: 2
|
Посчитать факториал и биномиальный коэффициент (Delphi)
Помогите найти ошибку!
Запускаю программу, она выводит The program was run... тут же вылетает. Что делаю не так? Функция fact считает факториал, а count - биномиальный коэффициент. Код:
_________ 1) Название темы должно адекватно отражать суть решаемой задачи/проблемы. На первый раз я исправил. В дальнейшем темы с подобным названием будут закрываться/удаляться. 2) Кто Вас учил так форматировать и вставлять код на форум?!!! Код на форуме нужно оформлять по правилам: тегом [CODE]..[/СODE] (это кнопочка с решёточкой #) Не забывайте об этом! Модератор. Последний раз редактировалось Serge_Bliznykov; 18.11.2011 в 15:54. |
18.11.2011, 15:58 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
проблема в том, что Ваших типов данных банально не хватает, чтобы вместить те цифры, которые у Вас там получаются в ходе расчётов.
например, сразу же, на первой итерации у Вас идёт вычисление fact(n) при n=40 40! = 81591528324789773434561126959611589 4272000000000 типа LongInt явно не хватает для данного числа... p.s. включите в опциях компилятора Range Check Error это, конечно, не решит проблему, но Вы хоть увидете, где она возникает... |
18.11.2011, 16:07 | #3 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
самое смешное происходит, котогда i становится = 9, вызывается count(9, 8), который вызывает fact(-1), после чего fact() уходит в глубокое исследование глубины стека
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
18.11.2011, 18:10 | #4 |
Новичок
Джуниор
Регистрация: 18.11.2011
Сообщений: 2
|
Да, i=9 это плохо. Решал пример, вывел формулу вычисления вероятности,а она вон какая получилась. Буду перерешивать. Спасибо за помощь!
Формулу я исправлю, но факториал всё равно так не посчитать. Есть идея попробовать вычислить биномиальный коэффициент через предыдущие по формуле . Чуть позже попробую. На самую верхнюю формулу в картинке не обращайте внимания! Последний раз редактировалось tasashe; 18.11.2011 в 18:49. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
коэффициент масштабирования | zolman | Помощь студентам | 0 | 13.04.2011 11:44 |
Как посчитать факториал числа в формуле? | bloodargus | Общие вопросы C/C++ | 4 | 09.10.2010 11:27 |
Коэффициент похожести | Konstantin_Z | Microsoft Office Excel | 20 | 06.10.2008 09:49 |
математическ функции в Delphi - факториал... | Иринкаа | Помощь студентам | 5 | 26.03.2008 21:59 |
Факториал числа в Delphi | Prisian | Общие вопросы Delphi | 16 | 24.01.2008 13:23 |