1000!

13 отговора 869 прегледа
#1

1000!

Задавам въпроса си и тук. Напръв поглед е супер елементарен...но...
Как да пресметна с точност 1000! (1000 факториел).С ТОЧНОСТ ! Лесно се получава някаква приблизителна експоненциална стойност, но...предизвикателството е да го получа с точност. Програмният език няма значение, който на какъвто успее :)
Не ми казвайте само, че има компонент за Delphi, който работи с големи числа :)

Отговор
в отговор на ShaDoW #2

Re: Колко битово число , ще се получи

.Тоест в колко бита ще се описва?!Само това ми кажи.

Отговор
в отговор на ShaDoW #3

Re: 1000!

Python ili Lisp (Scheme imam pod ryka) vse na 1 red stava

Отговор
в отговор на Questor #4

като спомена scheme...

.... се сетих нещо. Преди мнооого години на моя Правец 16 си направих експеримент дали ще може пресмете 1000!. Написах прогамката на scheme и бях много изненадан като след секунда изплю отговора.... и му отне няколко минути да го отпечата . В това отношение Scheme е направо супер...

Отговор
в отговор на Packoлниkoв #5

Re: Колко битово число , ще се получи

Ами числото е с 2567 цифри....
-
на Scheme нямам никакъв опит. Никакъв

Отговор
в отговор на ShaDoW #6

Re: Формула на Стирлинг

това е което ти трябва , за приближение.

Отговор
в отговор на ShaDoW #7

Re: Теория на числата

, като гледам с какви глупости се занимава този дял , то е напълно възможно отговора да е там.

Отговор
в отговор на darklord #8

Re: като спомена scheme...

И аз съм го правил това
Но не беше минути, защото го пробвах на IntelAT

---
Не е важно да си добър, важното е да си ман-и-як!
Отговор
в отговор на ShaDoW #9

Re: 1000!

Можеш да тръгнеш от това:
[линк]
Apfloat is a High Performance Arbitrary Precision Arithmetic Package for C++ and Java.

Пробвал съм го. Работи.

---
Не е важно да си добър, важното е да си ман-и-як!
Отговор
в отговор на ShaDoW #10

Re: 1000!

mi, napisvas si umnojenie s golema tocnost!
to ne se pise trudno!

Отговор
в отговор на ShaDoW #11

Re: 1000!

Ако не си удовлетворен от дадените ти по-горе съвети, ето и моя: трябва ти пакет за аритметика с големи числа. Има такива написани за използване в съвременната криптография (този на Arjen Lenstra - FreeLIP - например е един от първите станали известни, но в Интернет има free още поне 5-6 подобни като LibTomMath и др.). Аз съм колекционер на такива неща и имам 10-ина, но не стават за пращане с e-mail.

T-shirt slogan:
To err is human, to really foul things up requires a computer

Редактирано от ivz на

Отговор
в отговор на ShaDoW #12

Re: 1000!

funkciqta za umnojavane na dylgo chislo v integer e ne poveche ot 20-30 reda
v nai-loshiq sluchai, napravi si dylgoto chislo s vector, setni si bazata na
chislata da e primerno 10000, i niamash problemi da go smetnesh za
nula vreme, izlishno mi se struva svalianeto na biblioteki za takova
elementarno neshto :)

Отговор
в отговор на ShaDoW #13

ето ти сорсове!

Теглиш библиотеката MIRACLE, сорсове на C/C++ за работа с големи числа от този адрес:

[линк]

(miracl.zip)

А ако те вълнува само стойността, може да си го сметнеш с Maple или Matematica. Няма проблеми за числа до около 60000! например.

Отговор
в отговор на Гeнчo #14

Re: ето ти сорсове!

Благодаря на всички които взеха участие тук. Явно има и сериозни хора в този форум.

Отговор