|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.03.2007, 16:40 | #11 |
Форумчанин Подтвердите свой е-майл
Регистрация: 18.11.2006
Сообщений: 172
|
Для 7-ого...
Получилось, спасибо, но показывает зачастую искажённые значения, иногда отрицательные, иногда(больше 33) показывает 0.
дык!
|
20.03.2007, 17:56 | #12 |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
Если показывает отрицательное, тогда поставь тип возвращения не integer, а int64
|
20.03.2007, 18:02 | #13 |
Форумчанин Подтвердите свой е-майл
Регистрация: 18.11.2006
Сообщений: 172
|
И ещё, просле 33 значение идёт 0, а выше 12 значения идут неправильными
дык!
|
20.03.2007, 18:54 | #14 |
Форумчанин
Регистрация: 01.12.2006
Сообщений: 241
|
Ты сам то пробовал высчитать факториал 33, значение просто не помещаеться в переменную - оттуда и неправильный результат
Програмисты - единственные люди, которым платят за исправления их же ошибок
|
20.03.2007, 18:55 | #15 |
Embedder
Пользователь
Регистрация: 01.11.2006
Сообщений: 68
|
Zetrix прав, нужно использовать int64, начиная с 13 факториал занимает больше четырех байт(32 разрядов). А для числа 33 последние 4 байта как раз нули, вот ноль и показывает. Для больших чисел и int64 не хватит.
[SHIFT] вправо, [SHIFT] влево считается [ESCAPE]ом и карается REBOOTом!
Последний раз редактировалось VDLab; 20.03.2007 в 18:59. |
20.03.2007, 19:49 | #16 |
Форумчанин
Регистрация: 10.11.2006
Сообщений: 189
|
Для того чтобы проверить правильность результата лучше вользоваться каким-нибудь метематическим пакетом, напрамер MATLAB, MATHCAD, DERIVE и др.
|
20.03.2007, 21:43 | #17 | |
Пользователь
Регистрация: 03.02.2007
Сообщений: 20
|
Вот правильный вариант. Решение двумя вариантами: рекурсией или циклом. Рекурсией эффективней, т.к. позже наступает численное преполнение.
Цитата:
|
|
21.03.2007, 07:32 | #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 |