[C++] 100! - senswony sposób "zmieszczenia" wyniku


(Kornicameister) #1

może mi ktoś podszepnąć jak mogę zmieścić wynik tego gigantycznego mnożenia w pamięci komputera ?

na najbardziej pojemnym typie [unsigned long lont int] na 20 znaków 9 (no chyba, że jest jeszcze większy)...

generalizując... no jak mam to sobie zmieścić w pamięci, jak nie bezpośrednio, to może jakoś okrężną drogą


([alex]) #2

http://mattmccutchen.net/bigint/


(Kornicameister) #3

ekstra, wolną chwilą polukam i skorzystam


(Kontakt) #4

Takie coś to już bym chyba na stringach robił :wink:


(Sawyer47) #5

Inną biblioteką do obsługi dużych liczb jest GMP: http://gmplib.org/


(Kornicameister) #6

też wolną chwilą poszukam, dzięki


(B Brachaczek) #7

Powiedziałbym nawet, że do wszelkich poważnych obliczeń matematycznych GMP jest najlepsze. W każdym razie o niczym lepszym (szybszym) nie słyszałem.

GMP daje API w stylu C i podstawowe wsparcie (przeładowanie operatorów) dla C++. Biblioteką podobno (nigdy w tym nie pisałem) w 100% C++ jest na przykład CLN, które notabene wewnętrznie może korzystać z GMP dla przyspieszenia niektórych operacji.