Forum Programmation.c calcule de factoriel d un grand entier

Posté par  .
Étiquettes : aucune
0
20
avr.
2007
Bonjour à tous,
J'ai un petit soucis ,j aimerai faire une fonction factorielle,qui calcule le factoriel d'un nombre. j'ai déja utulisé une fonction recursive suivante:
int factorielle_recursive(int n)
{
if (n == 0)
return 1;
else
return n * factorielle_recursive(n-1);
}
ça marche bien , mais le probléme apparaitre lorsqu'on souhaite calculer le factoriel d'un grand nombre(20000 par example).
Alors pouvez vous m aider ,
et merci d avance
  • # 2000! ?

    Posté par  . Évalué à 3.

    Aucune chance que ce code fonctionne :)
    - Tu vas probablement faire un stack overflow, tu devrais faire ton algo avec une récurrence terminale afin que GCC fasse les optimistions kivontbien
    - Utilise gmp, ça tiendra jamais sur 64 bits: 2^64=18446744073709551616, 25~15511210043330985984000000
    • [^] # Re: 2000! ?

      Posté par  (site web personnel) . Évalué à 2.

      bon c'est [HS] mais en python je mets 20 secondes pour taper le code de la fonction récursive
      il me donne le résultat en 8.057s

      sinon gmp donne des entiers de taille illimités. donc c'est faisable
      faut utiliser des mpz_*
      0m0.281s en C avec gmp mais bon faut un chouia plus de temps pour taper le code.

      je te le donne pas hein ! ;-) c'est laissé en exercice :-D

      #include "gmp.h"

      void fact(mpz_t r,int n){
      [...]
      • [^] # Re: 2000! ?

        Posté par  . Évalué à 2.

        J'ai aussi calculé en Python le 25!~15511210043330985984000000, mais 2000! ne passe pas (stack overflow, d'où l'idée de passer par une récursion terminale - ou une boucle, à la limite)
        De toutes manières, ya des erreurs de calcul à partir de 20! (les à la fin 4000000 de 25! ne sont pas normals)
      • [^] # Re: 2000! ?

        Posté par  . Évalué à 1.

        Le lisp a aussi le support natif des bignum. Le temps de calcul ne veux pas dire grand chose car ça dépends de la machine, mais juste pour rire, avec sbcl,

        * (defun factorial (n &optional (mul 1))
        (if (= 1 n)
        mul
        (factorial (- n 1) (* n mul))))

        FACTORIAL
        * (time (factorial 20000))

        Evaluation took:
        0.626 seconds of real time
        0.54 seconds of user run time
        0.09 seconds of system run time
        [Run times include 0.01 seconds GC run time.]
        0 calls to %EVAL
        24 page faults and
        339,269,944 bytes consed.
        18192063202303451348276417568664587660716099014787526489180622186345694610385575
        34453836095827758724739177502384189912041671245383926576865723475464524930275709
        20462535787578952590049182341454271803607039252108504728338372929686158005240463
        88411995266223797910662233414633934743959256297874821131634186476654555866604361
        84087223951946276615548561632208981651545091872218436294406051877306392783358445
        93118641714839826008040014692810589564373869276710537476318609033651178086859951
        25198436173849182218698580190781963391287596652958411577778134914894099392305781
        03105905988720691493952696699343574983659137962578903705716902337854828253406978
        49291653116670402022340897472337802572802178518839151079731029701314373295620633
        71417282561294488192122851117077574120489422432236852636267075141213052823158203
        21283299281396342128857577713702823248976788453610611086876406235690279656009538
        36483565179093308433740384677999949276533963165473628893519966022518636416450183
        03007106354520541983015511296983822286516790525219475783261744988189991030782309
        00998230255192521668153855237082223393396256518927523897560451367991707122492644
        12562165697775493501518513622342453623608204970826728220969402911532412270029590
        66875212463045925980163507981501571186439398266621118515670757497601805751503783
        22257651547386370349935021174326742470282351069392212973957360132570647293569359
        76699620837993767370426953522607588098364060570326607822498213847957292084971651
        28932094450406900648012764259177524589271010339244463154507714866855326423039137
        88919310844577084283964175498228765263621608440412853633906910171930463610385645
        82074490923970324036637624063762183805588866811664139454910430877910456443269964
        89463887022356807073654410023472744624833351801961812807240899606712178045043486
        83038846159078256259880584813344270221148603590042452309662537212614046244138953
        51922957386989307452538344689391231506379793857149947776910781741930446955471263
        47473061484723850392976296127175488065515638295506309309466756844018146184413216
        46683269427721993158279615035881182670318979008283335789144271032083423544703635
        46613879469765135031440268528850842039701983428442230527227896941826307706153399
        63226637293988036827069955095202173220010255548924953583179968480863400645960835
        69840851277518587523966062477539941480837360544238167856816863891124880147978903
        14870888143989500107358645288892422457030796229869995973276054536144185337686186
        53114729433346327004974595465245306742270109138851469929114765114693281163228442
        77291429242580226789688280447607592763850985911959762352034962843633682628761799
        07209687435071076550134479695018660527847526019977368463726031821998431396450409
        81972367662545615769633522251131138606865820419689433584384458171476994813832233
        88403108694275803764969856335026035998141763771955021534739448155221081816843367
        87811269039441768436493455423702438346793286899428807073950195959885948942266476
        83198677942442001463198210812740952979640735835577749087638299674444725092875112
        66025989760063372754036414647780905929771518145840711438775868344972951118873043
        75513422901444094230592979413294324705918365538386095700597693155295500991061714
        62709003081312929619877066287375392922945131647262727822616494674344864691641844
        38193102743685176271303080345578147577244822679153608466185148549403170961726229
        94969315541987036749662294476481803854751317734430883928117931369715565258505698
        38709543269551502725194317028591416487092731198986274622205122261224293085878582
        49872807205877995641040609646207689348811486627927797149208946180865427363397867
        06532267988760342251889152775577385733754682477588043352521989627740500672219725
        11347080904402074765906575377223778550257495811257184807922799499908276993980315
        16660523819630141728849936307718563001020925185801549447529442386753823216643573
        09590761305514037868412173246085110577645317191091517914687908801474389290155753
        12000269430107803162771210080432686778231770407924936953171789759866094466420732
        78632102387785193987468472023053569759865392650586235399377255429013141572538378
        47786007816772439407577257488419867556915522136430472122105026597530310422416547
        75790391791735710961210083982701456691626268756164733586950801833468836222041411
        03292978624716922383737357829571225194683967490073341622886685418101459192339544
        21173584017298375771806488900715071933172046664079404304809097494396880364905947
        49686966319350681574368278608382105461238039215063086233614856304693019454876298
        99739863616549219334994650673550401330151345075665824799994090331936161424877736
        90504347827771776396149741897620223405761664339559859485947364456495398577162062
        08755458111978013323992444064890636671721329509238748234699670171525787005479938
        19001041019927889934645252696959839498892202157013705439003350869012841853660334
        91026351268107125796701046072200046501235952094986728078852363753836090841932821
        00102576050092323003142095774819609922452028678340860287949528688945834003298197
        83860250441186417541301552881660008680164170950654872791036638446267146773864094
        45152696633278125014107658344468649943387855801850816060465986407587077690987102
        12293292635387398767181393700163258473981530545610484847636620826542560012001910
        82613314126038405677762180256725913236219133377507849413721136794741341001534448
        18330999801871521729788119284191234374867041605824100787067882952848208269112212
        13307126036858214514802217168953189139162020706824190669839000930730861056853227
        52234759208892423037447915366738976625544089991660964802472361299583287556901526
        92534872148928593147175359062443582333302253733326796348443413454167398927529104
        60464247824560201870619587173597102131386442042559294849532647898361256565887397
        58462829812398837202656287595313781131879979400748699779848035035756812980550952
        39726749790409152482845355558976102388778003213923108849763820876445455443373965
        36051282778247596937191310981244015559348397857873551910332602659432490952826888
        27636768908819228932665848253354873717500605878412941188537735312514532963900011
        84022115226304933199036287716636465303799159535286160565977472150348298002768975
        93262291138489507049345208584464254571934549121453637312667218304244333077420756
        34652721403711162820396238086355160999355618297521289683553771098957696054216889
        23132693439891022639924178551331086039205764743170194758623635412081658471349194
        24209495645071820242280720277817305073029301172883267388349230520624263775078524
        20063728820824909125128152264056399383638182576043502233606516831151065668154643
        89615773256169980141633412500789403461113244553878392118631053863805687995195737
        02306797304546572298466992300403756095879614407969612869509598603658802496227807
        05715936042983947277962221961292142180211474695218886969112740759327095542805933
        34067436702363071481918672409217424415792975452515928424396697184364284578395326
        24499895777631555327117689573176311557982927580811153855744937550744868062921677
        78180758892355433772883494432652681241638095932653545969272292715884721877223094
        01262229059445058337062869590133293763186798652606561682114049643153514469940337
        04260217576068295467782164527997025420550389885438390050704355299918128583316777
        44861985963978407500500276635454918291912895782573218669479896619185731053284124
        08338655175632256455893526203574957491746754401416927936325464189161232106283976
        37304390484543379534906030900340124357822749120130763322690117190255859957080492
        45709585180161207568839191808590558566008812626393997961967970510567941594854303
        99630638865287635753463374349118487235586553675912081898129145971017720650824801
        03580677861986175935934529660451294594609429126004504610431478535067880471634256
        73589425978580875454449321824404839840943289606418291749851556631737784089646786
        57119622479897493834363341989049369958095761148276839233326671554435053007187041
        19928770056032077230332647371158432488316223672119561339493502655771996773775276
        56613297632470633133312913134193330584870460779466844582653273225601999387218698
        58410941697994372310251926227447377566936632097134011883323261566060456129426373
        92229916268845028323991516695818803132499138321916335773284756431066231366269497
        55611211959024334425260500745987773662887056055248910295832298881355080656168511
        48872951533814449092124809125802565967809884998330558728062520853388751110573719
        64382669564873599168709326565682982002407968190971292794898297597554420289920722
        47367086960165545726936301033082069952991123770942764449599461467977126904030266
        36008297972071222398407766725968828023286677164265096932632799414106641058084312
        89559646809324340372555162480499228456324076453597580125647625874676874350392054
        82953017271428750529494627304690447968276109715459285231847646297767936509038838
        13306085830036612893807690566956297817227508771310812677490330959138497908241093
        76792843334454254337864615708061520428538515972831298722310392386495721293773144
        46606754207604684111732941269804621441022445075290528773881602657022005012573065
        88969716620506066610380852845529877314713433205649765971919590487530128868758061
        27943076901363247156765434387763999095760761183811580771410184345533568036103651
        31382470643795659893897982233054027973252857735150989715272693398055467556132869
        82138915466610952558590535108802095658899612784706103973250496783137299444164617
        98621939579237539789005093485811962751587171345745632993297473494881402108833037
        61302233712298954266177681915059255397499263310084978202005677122285166547650260
        71406256529954518190458339562333236001066235544928504722033991923792900548330026
        43288527933149657672232175318088823568585473604544282558230074865790469735453682
        37064879219425113808647514279310279001951226988293288319415039304086811898197145
        88637620162070745820182899547920213233595839335694904354601362735398473525081697
        13112373915695589960504795275491334146069617627729639969120880955036515184312092
        21134227466284098948321651447145834498187675351721523458075560493822946667882516
        55437046839865701557787291883117634347201980254936114034386506001433877485425143
        83326349544493530920303757504422051202626395828667427010262646663741392259958870
        92349954381526496144480115009338457333258435908351446960696523361477115361684418
        69075192522333948138007065323365433704714241161318982341256741147493123228488866
        69595197923277778274657172712902610893929509021702433364908027437524652822225570
        28216111861024868004740918439682785177466490897096908009219316889447161503317288
        17556373035142122910344332234117310882676369611948804156631578855483208620712232
        91173288903714063997096542725223674393091431526094247239499482690992880793051414
        29593086868989129247976753478368656712660640830751342388642404253958629721071655
        85113812911476749725440093331072563524382418740637977275092876024772438322215570
        95586735625004054640097026300005171522549946531139615754788672221271384654255172
        70855566122965079642563333511102205134571474841429860123073286871253377684688879
        25107436284486993005355905608233455407835984258499576523610809709279934072718775
        16345699605835658219181633408677767113455068351476292396398761374048349634342583
        09510041886085841807031376709869649018681347841349948459384004081975340452938356
        29396520666118229511273425483884305964196784754491615422085860241981103552223517
        89045668748640104731727509029904830649323688655116521295538868988906207456831369
        67786211786929896087904759494452048542893191779025975483129219877390756875075825
        21936291007329557013995401555823937871199104721858677394281810565915845974709295
        85941654014011832908468106741850896140369477156705067432691280486561310093678227
        86743363878482850788103588540763157041693164996494387026172362408510762693867393
        09323741092404388042973545697934154886419449167632091615778189268067252557601212
        99083664715983041369310955927482181747490637888081601732495734403961429275000825
        52708582931718917413334408048955602523617434320432634268145906161606642874225531
        96603750280615952953021548022024563411599478769290495668120855219388084049414171
        85031488520090439706202263679090853789401960796762089688035714536601801863277790
        30792340279542341804234216002405741380905463966124975047359421490539286788689754
        45759869861805495034873559164477650433217109362308133780325952122073069202450935
        43951451146165039294137650077080796866288458727247654378829047194725977721023976
        61435355265433072392597803274392284518550132545220957223358869428156272346664111
        28783427415549310675142705046493994875853463334029442776399749914058339450600056
        07173034296286680310541748711532118054051601377202640553446322392822288700441018
        32520133431037002350794039779908241126875877169249588958770297503590201599890509
        16136903293930239738253250792662559242580946455612612361616554643527008636001188
        87496612049311923581226034544827365298426522926663917875629196128118143530066244
        19912010845910384398315643033659569502958486237531484817555418929185536066953317
        11631399051491505259740877991579485471238910097654340010116523992916530357805927
        06471482505639278610984309756747671690785389689436502420441651632518236752819598
        24057290931375968421595609465322411264821422305095198115563670427577394179259873
        43287533169091730819434736062183667220755119253640222626229155638096356545169413
        16279475952542812855073745939711647748338133972836638121641265152105683938414511
        37852100664963803169144952643782258579220615559636777004148325989351178969093451
        55863840238097684590705298319614380562470296230253888741269989342840918669926155
        34552124593537783208253064501159439075085486786571370423971420242778890074319261
        92937997501975331176382929871139758333309361505400051062297127185725989396791343
        19124081862783702817726873482575234763495748090155939702444974591984168851599687
        22160839649215864351237877984594835624509540687457504285786177432256062575146398
        04830820895821681245214221367591084257892685768860608439928771770732283473700297
        49400246772316879824529521033213973940604293415499375478115542166516815536425300
        30326332248982440237081164650027542662144245521842312869207642998127212129787647
        66200038037861537682633562561393952546035626643119459173456032232531000960425539
        64274260179746982140657054241568523321934992573511970655163276118957609556747319
        12497394721494234698119387498426029118992169404244060908788704477218421532614357
        70637160371382082860157511645244303970638650956793450867158332461591631124290307
        20514672121812925985839194108113511286931798907131284820551473644237387797625591
        67826747499676349488248248821703472803330710358221621387685833519535522001670276
        27154326714484530368330355923262944067725691045533238166478508174650459248879225
        77476603723871188620412198260207961550849413981570735333277040872933029538648156
        17212287791706193879434416040803629675378075792059725969308390819192712741963292
        88236262024434362665043200867209345263546478008722342250003673588666588176177214
        68432154261653316982353473445299207340977245563607976106047674449804815213826928
        19244200036592566412672831904430547316674895048732243227809251621317343458363914
        45932372005060924173080094554731482826078271184248594070279690645499623997455977
        40904418318213426024467174385723413260087159008136333620331546242523747369153592
        83300335702779040316843799207102691044109294832770006683339093148327367521216705
        20388848751224583470367254117829787778024703644550903560468514668787955255636081
        48123950953158925324850798347068110030989933093003751400019315932827369429105462
        74449221207227480016176195766685417012472746072030115081058222790225818771276075
        82733156388164183327173142198331685126722744851523626456305255548222884296349830
        42954169461414589750142805619055311618336886203285143874009267107454767354618401
        59100779705171456465161613213111647656678544871089511686266339395950270747135729
        82242412704106018342439568090295518079385232402382691722726847387962189965517280
        11049483603352820679779408253097477815466742036646228648344284470586208296463072
        39538556089054907392600724168859648600426858901774064969712790862884853106736533
        10832724610584402122246093033699789595993464550287723208502362437653610318119779
        92096045840777404487153575334134096235248202388117595403942885990792975772898742
        08406160437608803388844874356196043890658542696690496814983354391990687414618389
        12266379165112378346474755624962043750595393302652623852970674556413876524986514
        49942521495249267465258633492760628144601927426040175380943832998197639565079631
        06879130193539157418640873993372719868377609814211281337639618025890320877039582
        08181984664556497251185263005797456266041289034518439235525169659797207215573123
        04847017469134675537850789705322085775515857586568963053473067476562320301746590
        21167635092263623504602800932946760790043319352988753710489044921086720195451210
        12450404546740373837682515058991177183240080739066304823786732619326709360309251
        34479697474010558258119547844843418455890292225040111876777159036810827652354775
        92151282207233038643089631168105763478169384915281664145781634574146552778921611
        27961229250482312903681738768733415243425153882530779864420039050299028332300768
        02483520981982578968343115864825346646624875722560648500457421395259708439730557
        26768755313310443711624972689709477094307263143702271940927215590807593365313698
        09690818566097975307802534321637866264936443060234779812783064817770629587540502
        97369950714187965571548718070044506555113722191961217615638966998040667342289240
        46037260154301970286205324707387000333372387823935377419942937197358616725082028
        85427825668684150329217690502541250084881044540216469715594552282374384316548796
        49904943614564912743905929783081049562752530886558102513423656327290037456405889
        35226782588023477912460952936033433896406887698792312219646341087301842156145005
        27765054992545447275689697903378235373227459484979192109009764484179966660255116
        70228626377556670972413352016535576874048575439824520984452232730306528634434120
        67367218884464068314158858574575662063649471018750871894961363533257091210053628
        29621814464015088700928789402512896076093120731052031633745559568132507109999365
        39424489058462627368488312243937467801448162688650624725068014608678530557604968
        95058401331638967302332427533880079536443406558885456572089518753543893099432953
        73069372122576115333224044732363662295436626526554870290042039093568312962506334
        09221218918289059837823981321756845684037671062115818176208505103990331145678818
        35382622401852541767408671851562691613028589227713314493978426948242716368917843
        26607250704789414696637603920279126888527253106127495601986812450138989440637137
        79300815802922680276555349545661653654476036713090743919008966096946989538649118
        32257374002679184282033659338651338744730387884344720881215823761816021120029461
        44006168832727951064014589051588908821016339956176133065914815650868660362991364
        81153393460149291957557314680313158417063658343529355115419492748445830551657330
        65506196502395708800396078487243818782709092587583515093454840236103079281538977
        73075445332426043650814697017701880853533956202199602089777934746627724664841516
        71646237598754215426682348262684788950148573092088089490285289348924881385989302
        36601759438039276809016552411009756135461934715226082504194984387896898523634831
        80906129328196123071841755542390739830186524571471540585317491178305182769546017
        78755964605770410767334281792195800984548104940803652645224015502599417820411898
        06902113518690280324348872173409213122282230914816859730697912141739111862810583
        72730871899855387413549895030243081503422817649903234007156710963748396138601546
        83674809018330742843326056896631204932300969411692586838089763868418704947059225
        57136323729321423427984662811499745754885456084082023520108448505932307908321594
        35238151508531503418360661764048477197890147783079834963995443623237330400655463
        70953012431758260849970715642962568014085054259531599807194336946801609955835441
        32735318488215079735603220771639541841891662296301167147568472112975805613728043
        01232032412069354113769278995371530097285276923420000533976440343452694953400356
        72619407891101969059406727469585594381288204849263731410598112684547976242996675
        51029663592075267861378914106202976725054284393533501207097799763987250936219468
        44279039998296566199104512609974566277580054805345966083812445589396441245247656
        63496897732121039597946300774317027723725427668097292390229163782458279539498148
        42153147189928981946122203610765121693123109487393050831140411297155374724904372
        34784153815913296024584389695977448187738717801344639642667263340252623606195350
        22711285531125681597313955952238938055108092913043354690037261968243204787677943
        14815878328766337695946548068686945484643181141269058907364848115502116848382215
        01054635922355068308169187174234482642406509696808753466679360407730173047398616
        75235497628749499099424350838146122448356865874480710306277725072562354781189919
        47911104277199973412431581104123920449808668795641468985014151086828843282046164
        80109493785222827477664080952191381146145019383828245725818878064002361755488748
        79145911870315499235098557779285232535032351226765808572391639975557700403244892
        95868178226899874786128369843256939415749612464845793601207315554778626295501295
        78129172524957061972135097342561480250022218566695085387472808920892476586666784
        73749781339766459632337801073988978232479746489433549182523207443319449549048631
        22464629613262461812665379848072635891403511436654679362409447862008999099326308
        54856064401400361833362475023325968111889823550632106262686311041397455287064842
        18365490308146119453906645356186036876672155433357136042247672980170564939402188
        86964183578094765397021550394658117281676301616938596463017844019631434751746368
        63179753330750520439784195945017095734263625180726063703877146649986642241631247
        37694168583454447870673336139086313024691324318784610341473058797986614487389006
        22264561999414306973358890614924497883452624203544183001614399576385767668147045
        31247615596423295502265967342426359284008241399931539764999588337201225365827456
        62954330176405672273056789011254661437661882783761851763306099435777682685556818
        39537347013264475100814010537744241989035813604443782318611841583796253677230073
        46129840397106470803100786466604561053979300860924812248353475749958057550807447
        68335214647371038154298743543204232000677547058351924912980275960427939714986860
        82072723548625832132838149425133544053722100143409663300385372889325893061860720
        81792543883366747368347611334360078965309922465480630932860702862249665287558863
        18977735520661453157261415582641640264256129927561085867187050717572825643675038
        97931600196103355030503670380375554384632898521964455387172466491953389573886477
        32646056977795997574255507003812579259409036970786297818421930322176115498523325
        59873219572999883614552374243408669056392909739791916082619260887968777951611062
        79627882341733954764165883775997222476698099539287620179996427182070264555815695
        84239125585759554046250477501414700862855706079265410759063305348714275329053176
        27513437735122509282071113245760098601028844113829296555645837096881261719762238
        02132272130029132978776590670432439362987106360458093398148829090233481734312125
        59439645429589520528938815124451750813875656035577971785963872813781798772605541
        10142227986583686630771657762703846131337558553619664920944525659173077857400243
        35175576798295088861782034363949030016190164536923030981025990496298995576436300
        82517636790355029550501875414870856121306449291635391209715511457976373471523473
        32457286962449543175998254046019601166737235008363132845560212177261559716208236
        07326117259007506477846329918105336198498177362702466651883591685234708979302726
        19357232371265954208660222015619155404734719764715443158281652301096201750705779
        84685736392317285395696103288989782776958494391482019821336421657763313621026715
        86548243159267929820701499318033790740563110006102753789702526831665387367548078
        32515352338961643359471091368476040575778313460637019702977087153465405441995156
        48134265656357085333977947533664537884822203475616410783096816136640576219736406
        53782881213720978486406849767313424086340818438156052071407837525911896373122678
        69251747860432062131716637969322703106717569262666119968403235328747049549503025
        49202912176219314390714324002040442007440161352145781758936509886633685091217296
        67795446350261174973024257543222779555876310205323562115435908571227350656687402
        32083803551568931297172588110167685791251202904602673250882153015399915095357423
        97382758304632437274463621991747143150516890711363831402365837281953372173256325
        32398939333222078004348732774471689805236741228301950712015914360774214066416378
        91865996420902520652359405557903000175155828271292391240333181712560352208660801
        54475412632452326886947331777371403154999184911961556959537019823932259519947710
        69684132686940605381854949017849376055693613087124120786460172765065781340043993
        91356473650228053280371576727036875705204506817958220098713503630684612955275532
        49969264336372936775137348456639410435803785752655366721283025942829537308855622
        06677561029236194047002955687765392703874057282253387060333010539314494061437682
        19036666119492000822247878034959973406762961666655732280198001646920999860833367
        71720606222090699061342598043890733653587303539193797645074515454754800978718318
        90143050646113181018217523716995000672796028243907377116576622097917936319041912
        28848298252047371486564089981319657706154974528625332630303337065523234313689529
        17841917457612168514200413365177564384482510256076435130914419499978935043199046
        93817654284305058545960343641308638358257446638911284459625131068581874981262473
        24927244207986544738761948366483235049912641295766261574494137891004356089858016
        33563024917445660433619429445528686283009340941044302473886779629898605589488007
        03462900286985751928580671721097435900833034722750460456456716743425688323912503
        89022826412856235952262705081772689897141348994941528495441503879750673801201533
        54334794134312704996392590959896755502049602091443661836008413831929599325977738
        61569045266672439858695411251133858091222715514637763098718247649292804694851086
        97619982618494012891219484720367500131792273401981523487205512314524482821043586
        54564288101614840074739354329928195028684343549782427546727268542620014879178541
        13789656041497098426844694877055686812958856087356521225560379672479680402145637
        47066775952072843408865735234008728565970832131769821638488291960746312039072028
        61773411663334631992213561310290466928211639171375032652830166841819959857121493
        79036103151540101761100373777786402173361198492527050370045189044504729448999788
        63606373333182020958698232652966096571590277105277405805053930943505321330301195
        21263457344551965451749222780367268575400517169271940258672622374094556479523939
        88107689992458203177876722693632125516737884773216086761947688901975151513326276
        84923899711278466939399126677223544400747238762766152534872199540551962067278717
        03453682618556048765523641846090682637439590234933650776765801921177218205089732
        57748295609344717656734966237889293721282442143540437628009357382245418411480985
        80689375303166714215949809916015115444842091282691818163407602336427681270646941
        11544326971658344775063041627691376145531816004896004803603608385544843896655254
        12816035273728479802444055063436463550678955895202440018949410851498739481681972
        05992629982355200302115148081353110293922193145711809519265644486711960058989025
        56829429843109951308735845620075789486239524032928040165454471386587029810175325
        34773650768459447352583390936463124932409017092690539229615816410803652278913560
        00098533003112168704162832093364727873519361057960447725005049071782924027336875
        38924966816102759306448270773752112117499470961997832838827893827291144414155473
        36183415531921218212476543487572031761779309324962374423976906239663363763780396
        85032962164887057540053487440921187071074965177685471001210787311939944173964104
        75759043851267938670425468563196336946536342687978667747039285511078634316882048
        54066409588204467662619539798162630778879848469817674981974559000796426845845130
        95030917346545227016275586654356651257848744094458433008456496922363226976635127
        93449581343808553385454008576392725957295365852276098634567723266515140190071809
        13765961817322701606256778331947534404311477151320516242251701901020126626512528
        00794374962907147734886081952204596782935460927396751405133542407051260583569573
        33314912940556793129017953417739236380444565026661816040220569533389097467847571
        72085570095413104765435231183569675799483345848472616130818758532066518531311437
        84340027435070841156806754837715502732530390398409444856375555845590564417949622
        21522542040756585985079664796689763019020519432903184063701212626054566449983596
        46861721427731115828802226908958702005166115438456095790060705339901178133839097
        66130769370184153929461401088465764082094069991805314256845642699867164955116655
        17264760237614210881839021577327848908976480427621865955633167307499518838962970
        42644497203217677866470940416044416733773054813747620435138820135654317353700547
        92795836039331292929773502521011292207887700416176408409292759613583390261428382
        00035275438039432696198348380682815204772527733965583864900945425916681549801339
        94770243972891099666578670773375418801791948036802576586897919753183042112327830
        67029385827559938615314098824230513149370702769327109251008513134706330875468857
        85616627587750181810661533625679331586794473729999615045204094294211203716719951
        89611379383939113122124957633314709581025620696214671482763063518503017793109571
        43542868879103919489510647688907386550146270501422207664076257506896317219309105
        14517062099268466628663123639803446617178843362931359934299463062755292802810352
        11363603094126302222825219933210944780189997575795605143895027494813727479249376
        21400726874843160860704520826106972585688365157956850436088636565494834537404999
        25265982870746010498386267717457587156827132199849232378202273424496265886157481
        86922832545376846655688489725101508873712374906526839777120418549944907720895933
        57119141698342279832001920990421125896488093959016125156611022421505112251203473
        77450673949083878349475326135421009380634631712083778279569592786321341765435844
        04705890697176592965788040287818185181791764161131301584411482388348360183837055
        22970125937320100426203246048741834446403847101972574923605710527905890582273440
        52983657448332263862499125651317412481235207497015036534969664848952048326443233
        43170063877539950853779883848563520074002230677628324032206575870682216735289974
        22915330473150856951829482520644009828780646793098065988872362631791966812197707
        48671689320858396089007088019145251700085200351450759708361058867887300472756070
        85721849524685806286166433518942590856920382346564008520608840776140446105730502
        82332785017150626493099807188037019823964059016751216149098662408019317523108074
        19482070554769378790204942643044681349043916956578650613693528291875672506922394
        74978032275543580783114186209509679389244359874693341628223696026758744451698193
        07828528004591363081420055215705060861327117174341245655920090647702253048877874
        18631000989388700699132188622821266404597828980690704387761953505254030244918876
        85450967792431639441634833554639769298761304131321943467570131466409436144356792
        78442743296709121155319601151639201774194888117691551778276127269042678782128724
        97615908324353067244726326083567570643966214140807362884606253822559551339607074
        13790682295985218721807959450513615812547918002134690474687808999972558025580649
        52562297105416095065700139593199611692944402192845229782838289460169818926705449
        66150283617043902168802765609790141059971055623329373064886763218445205943143346
        42605689605884058973816752975460488747041874796591888162390176593327006340047990
        42116011643186902821210814666450711104340194674154628841156346950083155863362232
        80989036179382400248609266622939180069765699515090235134628778880311853549510717
        84728445004415331142679671243745493928626356134010210334501098153845732713423869
        18176392105156108894751929058163547939602878054972825945887646617580037900927609
        08578119386113249606407321847907849657855354175748076276236528234327705529684608
        46585856007794414869267109953095894465040740395772158163544357612301653927987003
        68364826950202914177285126454698832426247034211903429667753280068181036603125139
        62348523574449030755135494482269429128130329640048837683927881584019804928142763
        83240668156387694413856251409892859646637955979881037195217786391693372806895820
        86707199628374058347944162696546007679264630523050817581130657456609838016563269
        02502752916183973010972997855035290982722251877762206489333317534438251290410579
        12256382038058109144038003632311623475152776401005344253620058748851985632746355
        75000853287463576724527662658583346209088011702864578363416630279875527188005836
        86668732385790106866319326563834691740358589547368272454373616161873961131014429
        24755535740073395453806960549603444247996230151944483269794314928001899457275778
        36323250304517427093247810203690792417397508826914439844930742787529428130431870
        06592345827843599718902798314036909476791881106384418004352119257149845551447788
        88591546898964499773549488609663396205583860926969665794067245102832166393195607
        65618762029137818126885905764577533745950131952840139117079525519373953747014962
        08299417149161380402903415153161081048213047942844408785821147146682354712222435
        72323949374976330530484864535853838928936370007186623495329108811808494078929592
        45445476418597637683545587607044071016493579281812796131500594572874179327404170
        46454146301245728537935128489472773237764197878093329946150625103474013269013123
        78634464679413590132396398978011275869629807711211117805145659130795302344099795
        31168810949881476072495798251974115556517113900707330130015768963886427819649340
        15579380868369951035821651699052682334231272541933152199777356313860465169481162
        39784474208516648827299036906541586231951105047695344742485343240565791449909300
        51775414629878895284518745356784135487122744260303829309281983031795363482733656
        34229066737358296751635696233472937379141184264772929301136292752349865250063843
        84521656124621871598214377487146527845703680848104673017058388398396603358424023
        54058562049732229981633562735617745036901810088133819917356683793778921692114721
        09822308331987500374448918289068556834120774843885996370384481286652989908397474
        57922767579295069317441609302698199766032209738419974466204466546618512876876379
        07543865518114803778778210559355074991488338580527173186572373862683892256045587
        25523221912262343229629821685746352449968735853505584122306074151471257104498799
        41280999050529805395601119101319422117937933391102610481582469727705309520435568
        58051533780913161052971869784655033735381036776116362314921416090971143558606615
        97262362135392645849861566974927164672963017362558590685422672070681275522674370
        75335774606469222265977780975183384226320516766511055142306916298153076393028104
        91714321476800534128983316743819819753213297962167907314041770048289533399114279
        16354515790389580687836591645550687650781413186396612870534313898647031005663584
        31720981245573472826684578103792508776363028743225156858889843491177655502353142
        10754499679326584424920522288416142724881612256587986201861253621169535544017190
        03751319807095690717038896917234058863085175263140156039005085853749029386752071
        55618511576689809185340811764801215275813706686480942943988411275820512804469278
        67663769600828748265866729828113875301645026120178384462024069765465502141546635
        33837737882667723276591890627098310240522139530741405703532624766972596521778457
        72677221737072631112912906532015542094129506312207884886439716330614960070796133
        66457739273148394243429105421827288790848582820618366366255289916795287770635979
        21506192666689267839373264720719790794906144465143660562220052050773273623952292
        21898883138121667632835060131798071341278323681879815321144765585322989131059389
        74843140833524761135855204722886237367505260834630093574152688318207128307638364
        94673174839109488998230022641302447028060176587699697056677433935718241696454049
        88673504514324500494067461743662232293509008953496775486631805022489060194576665
        19360781664935730934331134730564944272687436172099548574811506135258744303710701
        52733673164151910069286721334966023396836612305416053954536092323760781562170875
        86976044078806959047790057228953748712032089773988834665982098503552883139049755
        70904207587426129763737880380154319409049105830997103317602009066684795741478556
        41760183824595929883618026051576319135344633389206734138942818104344203220348925
        51203436086252277458022375841723591212585826603624565282032604500448252208723641
        05281498081136022749622456545630479433453059877472990478481882673216837160004784
        86809920293496369597190948856109981568051867470009762419752518243686752611939716
        00106722037065263924740599531677530594401873240438065603428448483055565366691012
        90316791134615688797199095501040094180542515558179118472038622063436141259361175
        62293948247493550121270250011971838949433232245168843836342529537832698918143795
        41154001035512703627179291854484432074343656959253388333355197474495939325935976
        40301940976836220445277358413926178788072125931714485331614640023373928705252351
        21441317290155505433013340925479440884914485104771826634245852717757369522433468
        45617373064380062821207498852417223335937143342691313512527215897522734738062235
        91510969626689457916108749024187227100012116162683798051385823175322101561575607
        89319898558303458967891837371080708208888456622692071286757027544698923521005518
        34322156513540358796002927410860395287258765284746487945127043786366538276082527
        34074046120426334944035950978225046261472079496407873969269084748800357700782067
        22762436448527272956168495124827119662371856847497655521501675595153920228229134
        58526241070599976222908087042467863351143927792613602566414307349701689135194010
        55797788274197221823665620583034124699519183944447974100088682274254098029313623
        27037544988287406936434942944713808957826679919673562007671257649677491054900577
        70651734277362177295884461469972738887593999316346543201860398708846397069919686
        69741007838040059896734873336160104205607503329839300743460349831819957002240058
        53605737707281048103951854843831471044518312708193845662394489879054211322893966
        98903284099596721353719425392052244081246294853659895465408919816269475073155840
        25674232608847637874378403127392004666690529590612935753794935286579979272824603
        00644679009004888906326126708498737332252619433676004974976444800461890089018112
        92177314761886040723042980650258719688232295869751371282648189635989125451516101
        12218526026186568811289870259733765143967723220634481834989010661401299633496636
        19517801748028762919506787581139806059869899808971401426705042967819754806065343
        68126911206961136198758718164072018340066786304049696362233774205187837294372533
        29540095879818022319594650269745128691052875544019770589831429392558755868399482
        04709990966231832355527261146206409604973761350861453252629607679918299396030772
        40544624153051234679803169990458811105746745945336347810076660212231320158762466
        05488469225994355401097444421171800034435413318963878712854537529160159147089248
        37927056795849470432639637053326414978572078641139809840697110128913229367535504
        47295375050409283761122664310293852778612536443871330043600091083706606553471344
        69630927785706978780450638073794476017792293688003824663345194701175285312673666
        68861186330054065542497578520596125284406939928016742282950195317947641832748123
        62144795841537324799430784570861658224865728772439754665180957779398307841665599
        96432596851920543647205335961774312110531162057357642044272195435591513195263960
        11019867577298883435667775170209509021227357241416878609362083149408282882848747
        24144789731306968741117376242092458497251731669925866559271117659576140966799469
        74210069896410150309296917803541376451075172206114967271920568460413770435586624
        02592319623260167277497094988468587888176448484914015145790107708083141188323335
        17495063981858700480730686624985325474073269099943784891613397452159921919189138
        10687435599440483233228953331295365592056889670979841009973079290633674088414970
        93926733865576512857213900855645238583882873758457771496374935443307763309777095
        09201449315727566998889115605061750181029593818375638577713984619948756800228602
        83609621170707355167336834049914542221325038988567419819897189736593602711534697
        37047551922715385046686705254169749769393143182509366799773556059454645269130325
        52569830113721864900376985809564601122503890647893176950394444822534632888248889
        25311068210059127739025935340833257291938942164055384432908882475151571220450126
        19296430424522877152048216962892326856404397521559660097800402111005406165533417
        75701357070858965591277331974220280354657803029237973475180666625976749497331236
        97952280679725786110790224821129331788989022492459642986696712561672645524348545
        91076352994281480248053658891067654052448076671165149255924816200262195988918389
        87721621606851885934412917286342435215113873777094912516923223347857068096633581
        89183485427309512043768366387187157466065793613981268271718017672298315477301543
        76603226461040077282954364742204609701352788563039022480143017115949230478029990
        54372522920171821951724464408024268829354042970850092839323497167117139809005576
        43899700800174161162924595380093879014383751960096828627141047590396070801972534
        28048165683791531264182853432765360349483347745089941200495037461822592526893106
        88539787110351002710336019501494890123880465872739021228958178314830668007770780
        50913272677757385856954724093205612655998223589490135951051595057403466522516437
        60519527288166333667864939863738151841215447691299085639694246464000222306294196
        09166633103596293804929221130016054579801811584586639380694782980095873269561412
        21099977902588511007117013414800448845281547929506392611005659497630373731745785
        49346262438269133975569230591231212528191182869603435503432344889163260853632286
        63319075031036470145141150098709312084886743770882811096918618804409774557373152
        70959164398524824898361906525629463831764128121446784178756246838378682542051800
        46122340999170978050720144793747395204360614621190886668118420088011903622197012
        75526245456313868844260555108278193541714425156417762600521615956939918875572044
        18742216748808473871129879713036418955043786740062989114273495743484578675854118
        34966698120894478822227362769525282835918886430597536519548483809639173068268177
        38074120300510908317564483771698815971842757961685746874063894302182786775461274
        00697018851776965448000038502497247261669708559953037137453538132213439376743845
        59138999342009997821419793418475935574571475976537041767873667081437621534796530
        37146349489748572200513340430514373865976600553212061368234644744021446540150305
        91125591314843160315727471448809551270247254213938248973008483530603567605492794
        28541004153179057688498307876646193609100462682106069147341719617099214350463497
        66180913422302316010118639238670784435207858998637462932844867019317406571704411
        96334849109965837799572674167901390368974521137279618899742238757745365110415749
        75971563655482803612184852449707630188039514742370010085454228450333080532824803
        94954470753278581046446209591685321261653804358280441722308976939167015041822822
        52080896159132781610222364767435118120704970029161077342076433651014357470063372
        44331736547576384927626211829365637276504173544756683884318421037152763291274264
        56890520911472366546979149765211224096898214716382364797557978047494630943239929
        47218289359951789021415936346235589688608483214711101235096690824293530016232010
        90894182451591922645057521799850779341910439083683123025611019694156054969178228
        18902575497493479938182783420194541728227080225282852862910472472672934279339980
        23093835304686985727511845562575657063664447423945562347403245204751238292273117
        44366631884494060109787264234446416100726099320863765391223346827186935354801157
        96373059225991112887171822328682415311757582713783982013253896381173483488999552
        99103932395518132056713623075622053490765599210100437512540897377293115250756098
        35312781616662948294924093471827609043125918183847353757408963003492797332068566
        29142629999623756183987239340192504789433107960246902229418579701725413097309579
        23650855282019108168878605375438670846273041184637268036262133783632631708553092
        06005007603403666331501046028178417438440024061059020013714032541366323368901237
        34556885093088303809392295722666032169068769724069437694968746863810333313972393
        68059934117739576920554269596010588708319536538667729278197890457129209267405443
        03275127259491456604345024924513206115159540430996268481087049572258773820215351
        02803634557306871334797806625610085201993687492738032039926067221720783979424224
        25071186369284927526834686023589408865669780736053774681562713930870665073614313
        46493382524432749933651757931267424082482440750611726653193754068292391684210008
        23414847312903920995071934401754640047361624312056110954260732700257847115667105
        79203248912126051570110583827312073959836177795899739239263404871562879925401073
        51980669895958167106474067297299477379620940484515457980962069869773201591009803
        86968667675758269823716433687726794610040147159396250869696057236267160418568053
        27967635581494688355010593980236904206634862965727820571847074537184232509100128
        64282607961700549101831709284518580569750364389387764735095302653032977026684201
        27547508820533694719411433781826816738163467943489467580172349307285894028767143
        67031911875705206173421766860672110821860187688375386292599278786098803286128889
        72214416330747176315504854399403981042819105427930046170437196817679709043513279
        00033602548780471974885045706317797778969719467960491917741517993942124209561096
        57856232593849401297825653253378430903433507941416905721803964263361856511380080
        12824214421341315610352446248511318177634737836354100826193024326969656000260812
        75904704955016245901276054206817434947449233402125011669534644913624184678499017
        79219648129276690046376388413601722231003436272779689497122883889677795043606711
        90135823582321772546965212221761457680932022636139410497179105152076299350264459
        63761959258325866830140352268491890063191421553327936425415473501857560157603171
        30975609600157298126305014016533388789341449340399390331804692977497510119620908
        98089568005242875779302338325611824774949365660123946389924667201351750936148008
        95149962277606928279190975991217819819355326195079937564258061114052358733078847
        86938596111065203206743022215799122294833026569170103169386136152104918532338106
        44463283161683705033424731767044435773534568461901610867381668650838158979683262
        52910491514273710838788670991237384164819817992328836956073712809186462341497950
        51942078199710740341968747015927788134246182908429446481332774275048389174989169
        76717052108954752411455822096256886447390270724877153475078583154680033121194343
        09315450386527659945327980151353181614215632507891005453841496397793428125112975
        54248049882114207180945933204569318935598174503793768424773147471616839309825657
        23061480092100035523063368895454941357448054078814467014338355435679974208438688
        57302235739290826956525332550001456192916478744502043889763934818027976336062893
        93465453615059209309168645613394703321638383003762184492275440913622331224129863
        05396462447369227164305939136577662346757761528168859136967326387345137371722439
        36450472704639401565527211966148211935900508968120147920758632094864024834774035
        08494582289441645557176176639286907259601276107139218032357285405799370427706076
        60158055162952649604311232121171703999293149766002578166380611248272729646025804
        00246646097000238052647107785657622508109055076217922862963327702507518372955287
        24825134647938352799803599561861849290431544493932197528102862809552387190705704
        19623519545222236148942794045117263729539547923838348128137162512201759448331348
        02973877831478436299833590669542110560901557691657732654214307102286704316022378
        30197302117018142210355955798941464777089685467331927493612073532585841373913774
        45973109746699311822705416754423700207741424184623464997485237269250924633502111
        99950178186578664694691436947157563309841063954415903964104219550572062665416868
        02614211636917721318709540853318891262750690367803766191938568016175937352802348
        57174779860509249193828926917496552776386766330883928560185087739769853013005119
        35459166721073081965155093845522009920848890579458002209581934378947126280463234
        40953910024791258610875691220204164529389617534575557221299560037158270424054038
        78425280377084741575016730218440762029610542154522888252455887762484792055130955
        27512706399966691051200967943069262452575370979254354437621858039075077665440577
        71986825630886256282426520884730445432583822246570576237893260654241498689959118
        13044350420519568021256595504528278617350649695241258831376357525436403727701383
        06173940015403750960737109437950804535222069467875412103242866849257993413458838
        49212414475079698219185984714467765986525846236583324159340914361141524029184818
        28208342614364008265101834719073503597261519797024171105798457935084892396113223
        00783626203476001611019339664451692635894861986057882589309203926019255360614075
        40296560365995436057898641876002517340230154861574089263286704271733203335067950
        37659702377458680183601697739835935533058545220856894934077934139372699695372251
        52339725135505176109378073182707386387519322036887793187086285510129840562530374
        45496779481168813163008740680437394470017825579634763678721183056626949408513854
        85115809578231320567604364908988605586652969468551524345678021295463922976573995
        83383814687355513186141729358225328383686457231707612848279442205078261650034267
        73642320286658116789141113785020002127796378841900998719886558094231698897663175
        12126166250344741028189919861530631634728106281556712007652823627610922986810650
        84980548081277707417221317598638909784867538615699188695425191170774714190249244
        78534778459674915802570287525725412409093104120088172175405386531625020339117431
        92313501160987183255493872976340315514596629930680501083842655894627912240351199
        42789710292329481118582908724510356884880725543549292229305846227964478789332345
        89134688530849308634929651449624335532970886439291431824188911645270045678933514
        65692821215821414368323911548558271962437450712285712200568719497908170041797176
        09720291091487621622497488134005969279845520288277879200795173367456591487060316
        01272046247174641406499200394861955122153393871947240884434971645469531030064312
        24598424978891139498031408896534848632528805995059973990455538317317902395489679
        22149683125442187319770051925250772521774676139170964795798983137939867599939806
        61820270160468314696528472482801898059961582527462485201816114041722510781171742
        36950409571441785816648563418797872158490608722653757092259146683277752032243665
        81649545680381816810618080725990514378807226688364330294014141433779408334921220
        47469528132519777761777797659458042868650504686751432091701555431556266350838981
        33795524551807941031666067034418100790321350015919011229007458198380908593715824
        44686912376768039188771834115057582099333940208624849376490011471760745003670553
        25932628455297524095316104511828776283101031393269860221344363190502798416251665
        60570591925439270929360160761168333856084884097917976296114351748505033749193027
        42545569138398670196501473825905559684061430850312218266209838973232836871061525
        85770590021503084422642146771496723739741529655616239103992228725318014965607845
        91906838290905034547484487661693797935963896415815524486307108105683622287498998
        44128428376617156677629048521531717718000029499710513430518015346423733897688926
        53358346061264234181351907596097544004223666636412458158060802870738959724125489
        47060113196342894713546110311650897617386113750649542945743702143676505653099871
        24171404825554522972865027977355453998779826336435518778519039595186783666540867
        96701308919528143748640133222336271457805418437142050083866905500838688476404738
        41556754171688362622104531621970061485790862033815494704170388946600447556231605
        61701966591222891751298517500101290313571166163965230273670680806254160739526013
        47122012945399186227352216671310531071337298356076534480475909948472552344319450
        57423421957072378468073202743579751074088904919297786405073819417818025534025897
        30433711482060555646735890771962842678195045228646357084475173168750930053840094
        53776777078700570624801701232558094696173917814874683244947063900354963142046624
        96113072470055419559226226585918186535466212472535737693808159314411396036448681
        45972568538828350273563288660239689263663521491247615621886864737327822869275335
        31674765980181671707214368981172938185191083338058893590586726372234550845277168
        10000525247043412851693250709305090596230353842518665888998441449021139409779359
        61139167420111244731269358172450531763513918639699079195454410041030095078446256
        91428836550318255079908353011285415385440978534865380191812141139323596006050974
        78210499610862127411991143168357103472133038429044906502259316230434826905937691
        48267285074753242316136633424542229179490926892484354332992269823524443450284524
        39486774925748042735813929066874620072497457043156296415228565409965982014364745
        30521090481265742622192928890994881752479589896458735978557438609576795792947709
        73383597092986287746457732365171648620289633367978536840053416886860136956261211
        24977368011080723403249058268781116866527770081282676488905179736286338854428202
        85968800312195948844092781361153200184544612844951694079321473568174774090614992
        24655938239724262925820738885240766110292262901843469266723483143357001953027018
        79574963488330704820998378841409837891058291896269283599935657732969203342347260
        06847403185559458736394091374530842871320863884497712319886191359844979774490770
        62181418260233795039304451835809626367454962887741116834027997860223384953426175
        36436128969800411292386228774939936921471620739070176345544917004997044665896310
        92378836467089771287206563470003682117504332768532871418503442492437581116955070
        62116758194741069388344944502003738350552837940379975743733842993903854858455487
        97885253117593785424211824341221590787766916609715952474638390905815287522921419
        22256915876545332598386747042427898975290682932922167501879349382579157199414672
        19068680871166424526939378977055164515193501930745717563379208987435431262700974
        11127839503106889696342396655242969206146320137968164069451865853830260065793107
        67448603250587178306258593870109389977468155227217020306590974816650748885180665
        39257457026256320678056154572903276244375362821541927210002486560164711883291619
        85693430271836286062013381654392241038151858722809973353310069164395417564898601
        07949212926248668641200738582151381990224946185818805902341326005029759291159426
        19565362196865450889960622969208587069269676365320681220398987915675772164536986
        11003620814424556906240227466594964840868680931338329086540033889707208495049029
        96678978498553133808829090156890409570009734237151002160544659366625551748569417
        98881859227189580120927251341835526574227473502268114051364112491443658522688310
        86719755593652482714214118483505499328748376212666385511644440359080014368919426
        57661346524056710289821555561757280410429657035540787587229620697672571665423538
        90963496119117737549793729858700770927393579565969429032637141987387236480464732
        06315647673731154421394008032870472340044413218976502621554832175395949075436570
        60862401269944669400446595425297929381639240678749552313628480508094440726100366
        95682376463470124667752204575142728739862078778340147484990349366749025273222988
        76027364025385859147068476231815779965383092911234030152188527413215037114601545
        32199527929649972008438407625618594081346662734000323902054010726852536705037114
        00090536849619227706938092318761042135282000782865292445682415124004816262734508
        44509040729415618691636305399966445953899272391938051896462664798454128798682193
        49530190443653342776377778288966773644394660643839902376332950233853363148897766
        81259315358017032930859980921085640576307987213218472909752724507455997448012734
        10251365053720871691826251725553215051222686214104410857940685195296707155338002
        45921104070552214272006377183519809163847110443027215986816896917925670956661886
        30305189648845855402438889062472233962966109648935589235089605216073438173339908
        85248662455778084704633407569984715668409904358632242156726789814825426293200477
        77301193694692816086194815910248116463278008243717320142050594573034921521632101
        74007329423209839515764167104559932091229788107258314686815773835889815480667883
        34208112696446575556568888506300621043043689110863184393226133185616198190788510
        80933124772615241943758793883395976756059861471470416677912174486169330055030653
        42575767571009284755679815566331362372231257264578441497252141086393479153652003
        22690100623210357930167647201941865812406022887254741048227393742790293763342325
        37142470143664595608977302106012153058608051881273319806340093033095289654236141
        11331333253607916382678377545436804942218835373267305265223030036913295791783052
        13663947541824827850190669736840869302471755587603619540099256223117352939149459
        78751137454698212582279368258298896720033555424643463850987544679306027937480448
        55061019260017306788424048365763494970967150947117846783951729690231398026303719
        68247722415538736500244445814773306122493457209238378762921223390971098202067997
        09232241548815968633117796057872956935190816128383213902928109483402790159594920
        08467012917147918032722915142068443979130272077475457251513434798070395671226364
        92577549874101043320986743189726882597660497719706788383706065840510863987554298
        45621306189963206905647764697312366928621635284882015722907868206019438190158430
        01113858545687227526931416465676033151084632770378654695956057070140972335000817
        81776906740391941630021853195668025631255995351665495166576330515241487137586447
        85656436475567745688230847468017076836007977841531828543043508468212435430369782
        03604691406907388802983526664768212141474821892738399833275599411847413156021178
        41511709728331570404788904958904517374331521202383022942853039882924575079731312
        84917215050418308528833706620185134462944752939574748677099975420817311542207466
        88649805941125037761605060166323273480016122988551987143446103975221463764675164
        97540206554123744097346864142469090535286184957274577837078875084550430709810366
        58477876154322464923312889554313201339559058395484907178301808660460892363607937
        38733088894852860915377768718740082142940894802682082451725166946962229261409746
        98315080656028245624916234338388359408364933030961765169737933184541722729899493
        14622963365050973781575207722605904986417618046110243539072685497927975800848263
        77983994958766436412728524081119051211822178928642240156370997046610164528754224
        05871917737560209382947364971965431182834364148280972353080801854127118275154426
        57023319644405276931906857879122333034117634995301348855036009033181733343792278
        90967932393358332842849643788359561274843831810410294425263166155711241906177071
        49493428190116992147485577279341951454313669228801959093238318629484955614963380
        10988007251552147007650215532527461331580270333212207566507437770994873548381720
        18544494024406897999109858174083589335126373522781659472945693132786963671598180
        96235219163795565933035596779049763609258422628912163264977667040015837555731696
        06180695595644194132262406709482697588400965711349112563297719502811478314578945
        96905299364192756940808796723040241641999247787698744682898918032620104900320748
        46089037738319148875686786591205730979022574107490878635145250056399649966802159
        39035659416055125221806368191274531123769620124156286511394221472634467562752978
        44292702639307474220124872304933347439928643938310497570907876696294110239441937
        44656411492156765551316917991960706892635433458651791500824944053652137832995566
        11175720022634263041536522615776214639271987401372269539634045387929807648382725
        57999847181629555351565773858777720671690274453164214013383073815881127524508541
        07101766220027029496437331191172828954804487486734833874163808537276673968531186
        41396857263806246943735021926082692563196608562124163556147028297921766023295908
        82972882828283677723478816481867565237620633022066463248531954233824467972285005
        27308378414937652274147887139503558556895609084253081542490604571308408659967224
        88928164063556488514545730281062088612138587304687595498916366768617122442032908
        55038418608582522736109473539529620090206501480866440263248996490516920992868573
        95624986185611266158007718713411301907814456796606380010702726264162272617149379
        98621147889461132730801315768664697392225015877338144430792992039470521162456888
        53701415784759166254795728937198219703340612883784868344449163197165461393792589
        73675463619633996806979695155223506223849967192468214441409191513474655531800391
        74546557137568818645683730396396380600177701354201689440878238562091701548455882
        40691500482340120034386533816131219631706681204570507703918615346023193796487807
        11693175148003148167803884149816658215137831352453122774790162998536763922528768&
        • [^] # Re: 2000! ?

          Posté par  (site web personnel) . Évalué à 1.

          oui tout a fait je voulais parlé du lisp aussi. car c'est assez merveilleux la recursivité avec...

          enfin bon
          mais alors --- pour le 20000! en plus il est pas entier il manque plein de chiffre
          • [^] # Re: 2000! ?

            Posté par  . Évalué à 2.

            Bah mince alors, mon post a été coupé. M'enfin avec plus de 77000 chiffres, c'est pas plus mal. Et donc oui, ça fini par ~5000 zéros ;)
    • [^] # Re: 2000! ?

      Posté par  . Évalué à 1.

      La véritable solution consiste à utiliser un algorithme itératif et non récursif ?

      Même si gcc doit peut être capable de faire cette conversion dans certains cas.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.