![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Fin |
|
|||
![]() Дракон->Спать(); ![]() ![]() Профиль Группа: Участник Сообщений: 687 Регистрация: 4.1.2006 Репутация: нет Всего: 10 |
Тебе в какой системе нужно выводить результаты? Я имею ввиду базис счисления.
-------------------- Пролетал мимо. |
|||
|
||||
batek |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 22.2.2006 Репутация: нет Всего: нет |
10
|
|||
|
||||
Pakshin A. S. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
А если написать функцию умножения двух чисел, представленных в строковом формате? Тогда будет иметься возможность вывода больших факториалов...
|
|||
|
||||
Fin |
|
|||
![]() Дракон->Спать(); ![]() ![]() Профиль Группа: Участник Сообщений: 687 Регистрация: 4.1.2006 Репутация: нет Всего: 10 |
тоды тебе придётся еше писать функцию деления. И делить полученный массив на 10.
Есть второй выход. Базис брать не 256 при умножении а 100 скажем. Просто не рационально будет использоваться память. И естественно нужно будет ее выделять больше. Но в 10 тичную систему счисления будет намного легче перейти ![]() Добавлено @ 01:00 Pakshin A. S., Ему тогда придтся еше работать с ASCII кодами. А так можно получить тоже самое, -------------------- Пролетал мимо. |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 6 Всего: 121 |
FGInt посмотри.
-------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
batek |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 22.2.2006 Репутация: нет Всего: нет |
W4FhLF
Нет такого |
|||
|
||||
batek |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 22.2.2006 Репутация: нет Всего: нет |
Определить последнюю цифру не равную 0 при вычислении факториала N!, причем N задается в пределах от 1 до 10000.
|
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 4 Всего: 110 |
-------------------- qqq |
|||
|
||||
batek |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 22.2.2006 Репутация: нет Всего: нет |
maxim1000,
Спасибо но все таки надо попробовать как нить найти факториал 10000 |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 4 Всего: 110 |
так я и не спорю, просто для задачи про последнюю цифру это необязательно
-------------------- qqq |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 6 Всего: 121 |
-------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 6 Всего: 121 |
http://shade.msu.ru/~msu-se/llong.7z
У меня Athlon3500+, на вычисления уходит порядка 10 сек. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
Rockie |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: нет Всего: 31 |
Если переменная не unsigned то после переполнения пойдут отрицательные значения. Извините что не Delphi.
-------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
||||
|
|||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
С модулем FGint по лучше получается. Вычисления произвел в 2 потока, на Athlon x2 3800+
Результат 0,2с для 10000! и 32с для 100000! http://www.koders.com/delphi/fidB46DDCCA26...spx?s=algorithm
Это сообщение отредактировал(а) Alexeis - 24.2.2007, 18:48 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Alexeyt |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 15.9.2006 Где: около Москвы Репутация: нет Всего: 2 |
Народ, в чем проблема факториал посчитать?
Берем тип Extended (чтобы не было переполения. Int64 не хватит).
Умножаем в цикле рез-т на i, увеличивая i. Никакой рекурсии не нужно. Естетвенно, на больших N будет потеря точности. Т.к. Extended тоже ограничен. Это сообщение отредактировал(а) Alexeyt - 25.2.2007, 22:08 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |