![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Форумчанин Подтвердите свой е-майл
Регистрация: 18.11.2006
Сообщений: 172
|
![]()
Для 7-ого...
Получилось, спасибо, но показывает зачастую искажённые значения, иногда отрицательные, иногда(больше 33) показывает 0.
дык!
|
![]() |
![]() |
![]() |
#12 |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
![]()
Если показывает отрицательное, тогда поставь тип возвращения не integer, а int64
|
![]() |
![]() |
![]() |
#13 |
Форумчанин Подтвердите свой е-майл
Регистрация: 18.11.2006
Сообщений: 172
|
![]()
И ещё, просле 33 значение идёт 0, а выше 12 значения идут неправильными
дык!
|
![]() |
![]() |
![]() |
#14 |
Форумчанин
Регистрация: 01.12.2006
Сообщений: 241
|
![]()
Ты сам то пробовал высчитать факториал 33, значение просто не помещаеться в переменную - оттуда и неправильный результат
Програмисты - единственные люди, которым платят за исправления их же ошибок
![]() |
![]() |
![]() |
![]() |
#15 |
Embedder
Пользователь
Регистрация: 01.11.2006
Сообщений: 68
|
![]()
Zetrix прав, нужно использовать int64, начиная с 13 факториал занимает больше четырех байт(32 разрядов). А для числа 33 последние 4 байта как раз нули, вот ноль и показывает. Для больших чисел и int64 не хватит.
[SHIFT] вправо, [SHIFT] влево считается [ESCAPE]ом и карается REBOOTом!
Последний раз редактировалось VDLab; 20.03.2007 в 18:59. |
![]() |
![]() |
![]() |
#16 |
Форумчанин
Регистрация: 10.11.2006
Сообщений: 189
|
![]()
Для того чтобы проверить правильность результата лучше вользоваться каким-нибудь метематическим пакетом, напрамер MATLAB, MATHCAD, DERIVE и др.
|
![]() |
![]() |
![]() |
#17 | |
Пользователь
Регистрация: 03.02.2007
Сообщений: 20
|
![]()
Вот правильный вариант. Решение двумя вариантами: рекурсией или циклом. Рекурсией эффективней, т.к. позже наступает численное преполнение.
Цитата:
|
|
![]() |
![]() |
![]() |
#18 |
Забанен
Форумчанин Подтвердите свой е-майл
Регистрация: 01.11.2006
Сообщений: 420
|
![]()
Вычисление факториала конечно интересное дело.
Но в большинстве задач явно он никогда не вычисляется например: найти сумму ряда ∑x^n/n! Код:
А если вы хотите видеть все цифры факториала числа, то тут задача уже на длинную арифметику. Можно её в принципе обсудить.
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
последняя ненулевая цифра факториала | Пашка | Помощь студентам | 6 | 04.04.2008 23:39 |
подскажите на счет факториала | Lindemm | Помощь студентам | 4 | 26.03.2008 21:47 |
ДАНЫ 4 ЧИСЛА X Y Z W составит программу найти произведение все положительные нечетные числа | Woland-itn | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 23.03.2008 21:49 |
Вычисление интреграла | Kiedis | Помощь студентам | 19 | 23.05.2007 19:41 |
Вычисление Exp | Mickle | Общие вопросы Delphi | 1 | 26.04.2007 09:34 |