Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Нахождение факториала многоразрядных чисел

Автор: B@®'o.K. 11.12.2007 8:42

Нужна помощь, народ. Мне нужна програмка нахождения факториала многоразрядных чисел. Скиньте хотя бы процедуру. Можно даже без пояснений (главное чтоб работала=))) Всё остальное я разберусь и допишу. Заранее благодарен!!!

Автор: Lapp 11.12.2007 8:59

1. Что значит:

Цитата(B@®'o.K. @ 11.12.2007 4:42) *
многоразрядных чисел.
- ? Конкретно, сколько разрядов нужно (как минимум и как максимум)?

2. Задача про факториал решалась тут тысячи раз. Воспользуйся поиском.

3. Если хочешь, чтоб помогли - покажи, что сам пытался сделать. Исправим и поможем закончить.

Автор: B@®'o.K. 11.12.2007 9:43

Числа, для представления которых в стандартных компьютерных типах данных не хватает количества двоичных разрядов разрядов, называют многоразрядными или "длинными". К примеру:
30!=265252859812191058636308480000000. Это число по методике автора разлаживается как:
30& #33;=2*(10^4)^8+6525*(10^4)^7+2859*(10^4)^6+8121*(10^4)^5+9105*(10^4)^4+8636*(10
^4)^3+
+3084*(10^4)^2+8000*(10^4)^1+0000*(10^4)^0
Примечание: a^b - это а в степени b.

Добавлено через 3 мин.
есть примеры сложения вычитания умножения и деления этих чисел:



Прикрепленные файлы
Прикрепленный файл  __________________________________________.htm ( 34.82 килобайт ) Кол-во скачиваний: 170

Автор: Lapp 11.12.2007 10:29

http://forum.pascal.net.ru/index.php?showtopic=2428

Автор: B@®'o.K. 11.12.2007 11:43

Это то я написал всё, а вот как факториал написать - не знаю... Мот поможите...

Автор: Lapp 11.12.2007 11:48

Удобнее всего сделать рекуррентную форму:

если n>0, то n! = (n-1)! * n
если n=0, то n! = 1

Воспользуйся возможностью рекурсивного вызова функции.

Автор: volvo 11.12.2007 13:06

Цитата
а вот как факториал написать - не знаю...
а САМАЯ последняя программа в теме по ссылке по-твоему что делает? Не факториал? Скачай модуль и посмотри, как он вычисляется...

Автор: B@®'o.K. 12.12.2007 5:19

Цитата(volvo @ 11.12.2007 8:06) *

а САМАЯ последняя программа в теме по ссылке по-твоему что делает? Не факториал? Скачай модуль и посмотри, как он вычисляется...


Ты извини меня, пожалуйста, но я чёт не нашёл нахождение факториала в том модуле. там последнее тока деление длинного на длинное. Если вдруг она там и есть, то как называется.

Автор: volvo 12.12.2007 5:58

Если ты не заметил - там ДВА поста, а не один... Вот и посмотри ВТОРОЙ... Я же говорил -

Цитата
САМАЯ последняя программа
, прокрути страничку до упора вниз и смотри где-то в том районе...