у кого какой факториал можно максимум посчитать?
смысле максимальное число для которого можно посчитать факториал.
выше 170! где-то считается?
Другие языки программирования и технологии
общий вопрос ко всем языкам и компиляторам...
30000! на Scheme:
$ cat fac.scm
(define (factorial n)
(define (fac-times n acc)
(if (= n 0)
acc
(fac-times (- n 1) (* acc n))))
(fac-times n 1))
$ time guile -l fac.scm -c '(display (factorial 30000))' | wc -c
121288
real 0m4.261s
user 0m5.071s
sys 0m0.192s
$ cat fac.scm
(define (factorial n)
(define (fac-times n acc)
(if (= n 0)
acc
(fac-times (- n 1) (* acc n))))
(fac-times n 1))
$ time guile -l fac.scm -c '(display (factorial 30000))' | wc -c
121288
real 0m4.261s
user 0m5.071s
sys 0m0.192s
Да в любом можно посчитать с любой точностью, вопрос только сколько времени это займет. Библиотеки для работы с числами произвольной длины встроены в C#, Java, Python. Для С и C++ такой стандартной встроенной библиотеки нет, но есть библиотеки сторонних разработчиков, которые можно подключить, например, http://gmplib.org/ или http://mpir.org/
А уж для вычисления факториала такую библиотечку, ограниченную умножением, нетрудно написать самостоятельно любому программисту.
А уж для вычисления факториала такую библиотечку, ограниченную умножением, нетрудно написать самостоятельно любому программисту.
3000! сюда не влезает, меньше секунды.
4149359603437854085556867093086612170951119194931809917689467657697558565123531950086000765217800342007518463538361711849575087111404590779455340216106833961162103790419917752206266339017968280516471969749596884245772876609710300372611109534024112711883315773881532843892973761302110631293037440148537872544607961029042949104979388812076251162513291700464166896211759020357517548898065357786891528509378246999467469919083209351106836382428706352226854433921377515048858810403681880909929291249714190050893899440471535147315453158744150996017426787508746036797411707236874727714398892068369161850360819845971809378445352395850537761108651116236314592088610855745087451394530543621371189815084719209442637420327502999633378494401477567141468082420749991471487835966972063895467058996017856948026338876711287106800495082740071712481947638640136919354435412031278660143479254995914353012065310340662550323102073835150219510314867361233873939509655146215934901578994994407231100442692483814014145548787273804585602356158320431794595305583069335124689072124615146848530872403126796708911354898273347537575689936517639642478173346251087901574343739892049226709831703393210717634398335244457604047656540041441469947998435455459779938670283942851341318891316569531084851352509400614777404700733140654179442800443669190368546927085727170164801151205745244860796877378480366065300910981563909129411063371562154090380013505867162426233390243416662871652122859027456883350489792686936979287837689484143657386643695507547396488225622218338001460076119685921760323480846745521633041173800433114422592624369055878291490797388575878458573982869539030238383726588242765430643751775789721504507136180173005162842447629422748575562782876349876719528136891358391882449928474159168313033403219994675208291488576434586383231354520507595591206206727329695138612299465860752731788445244986534816416923884488906149585093437344288981488442732181713127253389153450658114382338120587537980860508088976175388289625293363375045454916860026722959122552885458448268665532431301135375481240956123768607800770070793954184890714946737785440752830787298810391294512192986479370345125743644558145975714082270598632516535290658457112358527021193345298110556839880988409498034618507802527303873678404216942723798046430425004503080663703276001634192144280570880243085056789210864697745513953911983863616719030027814638013693248233277159518059619306950423783608262057088720929792979742940457687733831987744468554429480032174105668942371054502887041961191507273900003164201447421332329387161802955561400460286740042288538985465032802842851512229602879574180162182323609832097144104701253306731489615323678873498455394960439705035234776621139591451927042212223142699869208746352098068622435481337619439513194286811348653156222817321497648170538184615532659618753029647860116087226364044392225760192649461091688515101314394557439830319255715416215144246912237051914909786184943615096310993363959456179659339685195860533863117632414706684225719239474253172647955974999328324727980789647075305401419409020060971267475318636552540321275775785393069753005659520820745749947189814445377224820788844333511854560156885370818289289521830013965437694728641877666576281538973734015941054368143543734613424469206707008278242364555745088255667015724275281031714164063141068138433092402728131896088481304066522616955282563718386246494429568885939384672672369419947557132054601826342573102911535353272880818277302159678708843729341211708451158062996769726660166363527695996902150212210495425956727859318551626844710037443462042200353539120373839309542069502148620739065319091082134433425149789628423619857167477384812609744305503625086635472073097129808469719....
4149359603437854085556867093086612170951119194931809917689467657697558565123531950086000765217800342007518463538361711849575087111404590779455340216106833961162103790419917752206266339017968280516471969749596884245772876609710300372611109534024112711883315773881532843892973761302110631293037440148537872544607961029042949104979388812076251162513291700464166896211759020357517548898065357786891528509378246999467469919083209351106836382428706352226854433921377515048858810403681880909929291249714190050893899440471535147315453158744150996017426787508746036797411707236874727714398892068369161850360819845971809378445352395850537761108651116236314592088610855745087451394530543621371189815084719209442637420327502999633378494401477567141468082420749991471487835966972063895467058996017856948026338876711287106800495082740071712481947638640136919354435412031278660143479254995914353012065310340662550323102073835150219510314867361233873939509655146215934901578994994407231100442692483814014145548787273804585602356158320431794595305583069335124689072124615146848530872403126796708911354898273347537575689936517639642478173346251087901574343739892049226709831703393210717634398335244457604047656540041441469947998435455459779938670283942851341318891316569531084851352509400614777404700733140654179442800443669190368546927085727170164801151205745244860796877378480366065300910981563909129411063371562154090380013505867162426233390243416662871652122859027456883350489792686936979287837689484143657386643695507547396488225622218338001460076119685921760323480846745521633041173800433114422592624369055878291490797388575878458573982869539030238383726588242765430643751775789721504507136180173005162842447629422748575562782876349876719528136891358391882449928474159168313033403219994675208291488576434586383231354520507595591206206727329695138612299465860752731788445244986534816416923884488906149585093437344288981488442732181713127253389153450658114382338120587537980860508088976175388289625293363375045454916860026722959122552885458448268665532431301135375481240956123768607800770070793954184890714946737785440752830787298810391294512192986479370345125743644558145975714082270598632516535290658457112358527021193345298110556839880988409498034618507802527303873678404216942723798046430425004503080663703276001634192144280570880243085056789210864697745513953911983863616719030027814638013693248233277159518059619306950423783608262057088720929792979742940457687733831987744468554429480032174105668942371054502887041961191507273900003164201447421332329387161802955561400460286740042288538985465032802842851512229602879574180162182323609832097144104701253306731489615323678873498455394960439705035234776621139591451927042212223142699869208746352098068622435481337619439513194286811348653156222817321497648170538184615532659618753029647860116087226364044392225760192649461091688515101314394557439830319255715416215144246912237051914909786184943615096310993363959456179659339685195860533863117632414706684225719239474253172647955974999328324727980789647075305401419409020060971267475318636552540321275775785393069753005659520820745749947189814445377224820788844333511854560156885370818289289521830013965437694728641877666576281538973734015941054368143543734613424469206707008278242364555745088255667015724275281031714164063141068138433092402728131896088481304066522616955282563718386246494429568885939384672672369419947557132054601826342573102911535353272880818277302159678708843729341211708451158062996769726660166363527695996902150212210495425956727859318551626844710037443462042200353539120373839309542069502148620739065319091082134433425149789628423619857167477384812609744305503625086635472073097129808469719....
Алексей Цецервов
30000! тоже считает 15 секунд на 1 ядре, 121288 символов. Т. е. памяти хватит для очень большого факториала. А если элементарно распараллелить, то вообще все хорошо. gcc, c++ т. е., разумеется символьная арифметика.
Используя длинную арифметику, на любом можно считать очень большие факториалы, как и вообще оперировать очень большими числами.
Длинная арифметика - когда число представляют в виде массива цифр или иных частей, а алгоритмы для работы с ним (4 действия арифметики, и прочие действия, включая тот же факториал) пишут сами, а не используют готовые стандартные.
В массиве же количество элементов почти не ограничено? Разве что объемом ОЗУ...
Длинная арифметика - когда число представляют в виде массива цифр или иных частей, а алгоритмы для работы с ним (4 действия арифметики, и прочие действия, включая тот же факториал) пишут сами, а не используют готовые стандартные.
В массиве же количество элементов почти не ограничено? Разве что объемом ОЗУ...
На фасме 11000! получилось посчитать
(С++) Факториал миллиона не дождался. !10 000 за 3.37 секунды посчитал. Тут будет! 800, ибо при большем значении выйдет длинноскрин:
З. Ы. Еще и Debug версия, релиз бы пошустрее считал.

З. Ы. Еще и Debug версия, релиз бы пошустрее считал.

Похожие вопросы
- Посоветуйте учебник для изучения языка c++ (компилятор microsoft visual 2010) с самого нуля.
- Хочу узнать некоторые вопросы по поводу ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
- вечный вопрос...с какого языка програмирования начать?но теперь есть конкретно цели...
- Вопрос про изучение языков программирования
- Лёгкий вопрос: на каком языке реализован алгоритм?
- Вопрос по изучению языка C++?
- Вопрос насчет изучения языков (внутри)
- Вопрос по изучению языка Ассемблера под MS DOS. (Нужны советы по программному обеспечению/программированию)
- вопрос к знающим язык программирования HTML
- общие вопросы программирования