|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.03.2010, 11:52 | #1 |
Пользователь
Регистрация: 30.08.2009
Сообщений: 35
|
Ошибка деления на ноль
Код:
Код:
В чём проблема, и как этого избежать? |
07.03.2010, 12:30 | #2 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
100! огромное число и равно примерно 10^158
max integer (Delphi) чуть больше 2*10^9, т.е. 13! уже вычисляется не верно и в силу переполнения типа в некоторый момент может быть равным нулю. Вместо integer надо использовать другие типы. Для 100! из стандартных остается только вещественные типы real или extended. Код:
|
07.03.2010, 12:33 | #3 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
у тебя при k=100 ф-я fact(k) вернет 0(большое число для int), отсюда деление на ноль
|
07.03.2010, 13:14 | #4 |
Пользователь
Регистрация: 30.08.2009
Сообщений: 35
|
Заработало, спасибо всем большое.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Игра,угадай задуманное число,Ошибка деления на ноль!!! | Rid | Помощь студентам | 4 | 22.10.2009 21:12 |
Ноль Байт, хранение в памяти... | heart | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 12 | 20.04.2009 13:28 |
Деление на ноль | Bearw08 | Свободное общение | 26 | 18.03.2009 18:39 |
Деление на ноль! | Hacker19_90 | Паскаль, Turbo Pascal, PascalABC.NET | 7 | 01.10.2008 22:59 |
Проверка деления на ноль (Как проверить?) | Moonka | Помощь студентам | 10 | 23.04.2007 19:41 |