deffac(n):
result=1for i inrange(2,n+1):
result*=i
return result
classBigInt:def__init__(self,value):
self.digits=[value]defmul(self,n):
addition=0for i inrange(len(self.digits)):
digit=self.digits[i]
value=digit * n + addition
self.digits[i]=value %10
addition=value//10while addition>0:
self.digits.append(addition%10)
addition//=10def__repr__(self):
result=''for digit inreversed(self.digits):
result+=str(digit)return result
deffac2(n):
result=BigInt(1)#先使用函数后定义for i inrange(2,n+1):
result.mul(i)return result
if __name__ =='__main__':for n inrange(1,100+1):print(n,'!=',fac2(n))#先使用函数后定义
D:\Anaconda\python.exe D:/AI20/06_codes/deeplearning_20/p02_fac.py
1!=12!=23!=64!=245!=1206!=7207!=50408!=403209!=36288010!=362880011!=3991680012!=47900160013!=622702080014!=8717829120015!=130767436800016!=2092278988800017!=35568742809600018!=640237370572800019!=12164510040883200020!=243290200817664000021!=5109094217170944000022!=112400072777760768000023!=2585201673888497664000024!=62044840173323943936000025!=1551121004333098598400000026!=40329146112660563558400000027!=1088886945041835216076800000028!=30488834461171386050150400000029!=884176199373970195454361600000030!=26525285981219105863630848000000031!=822283865417792281772556288000000032!=26313083693369353016721801216000000033!=868331761881188649551819440128000000034!=29523279903960414084761860964352000000035!=1033314796638614492966665133752320000000036!=37199332678990121746799944815083520000000037!=1376375309122634504631597958158090240000000038!=52302261746660111176000722410007429120000000039!=2039788208119744335864028173990289735680000000040!=81591528324789773434561126959611589427200000000041!=3345252661316380710817006205344075166515200000000042!=140500611775287989854314260624451156993638400000000043!=6041526306337383563735513206851399750726451200000000044!=265827157478844876804362581101461589031963852800000000045!=11962222086548019456196316149565771506438373376000000000046!=550262215981208894985030542880025489296165175296000000000047!=25862324151116818064296435515361197996919763238912000000000048!=1241391559253607267086228904737337503852148635467776000000000049!=60828186403426756087225216332129537688755283137921024000000000050!=3041409320171337804361260816606476884437764156896051200000000000051!=155111875328738228022424301646930321106325972001698611200000000000052!=8065817517094387857166063685640376697528950544088327782400000000000053!=427488328406002556429801375338939964969034378836681372467200000000000054!=23084369733924138047209274268302758108327856457180794113228800000000000055!=1269640335365827592596510084756651695958032105144943676227584000000000000056!=71099858780486345185404564746372494973649797888116845868744704000000000000057!=4052691950487721675568060190543232213498038479622660214518448128000000000000058!=235056133128287857182947491051507468382886231818114292442069991424000000000000059!=13868311854568983573793901972038940634590287677268743254082129494016000000000000060!=832098711274139014427634118322336438075417260636124595244927769640960000000000000061!=50758021387722479880085681217662522722600452898803600309940593948098560000000000000062!=3146997326038793752565312235495076408801228079725823219216316824782110720000000000000063!=198260831540444006411614670836189813754477369022726862810627959961272975360000000000000064!=12688693218588416410343338933516148080286551617454519219880189437521470423040000000000000065!=824765059208247066672317030678549625218625855134543749292212313438895577497600000000000000066!=54434493907744306400372924024784275264429306438879887453286012686967108114841600000000000000067!=3647111091818868528824985909660546442716763531404952459370162850026796243694387200000000000000068!=248003554243683059960099041856917158104739920135536767237171073801822144571218329600000000000000069!=17112245242814131137246833888127283909227054489352036939364804092325727975414064742400000000000000070!=1197857166996989179607278372168909873645893814254642585755536286462800958278984531968000000000000000071!=85047858856786231752116764423992601028858460812079623588643076338858868037807901769728000000000000000072!=6123445837688608686152407038527467274077809178469732898382301496397838498722168927420416000000000000000073!=447011546151268434089125713812505111007680070028290501581908009237042210406718331701690368000000000000000074!=33078854415193864122595302822125378214568325182093497117061192683541123570097156545925087232000000000000000075!=2480914081139539809194647711659403366092624388657012283779589451265584267757286740944381542400000000000000000076!=188549470166605025498793226086114655823039453537932933567248798296184404349553792311772997222400000000000000000077!=14518309202828586963407078408630828498374037922420835884678157468806199134915642008006520786124800000000000000000078!=1132428117820629783145752115873204622873174957948825199004896282566883532523420076624508621317734400000000000000000079!=89461821307829752868514417153983165206980821677957190721386806322783799069350186053336181084101017600000000000000000080!=7156945704626380229481153372318653216558465734236575257710944505822703925548014884266894486728081408000000000000000000081!=579712602074736798587973423157810910541235724473162595874586504971639017969389205625618453424974594048000000000000000000082!=47536433370128417484213820698940494664381329406799332861716093407674399473489914861300713180847916711936000000000000000000083!=3945523969720658651189747118012061057143650340764344627522435752836975156299662933487959194010377087090688000000000000000000084!=331424013456535326699938757913013128800066628624204948711884603238305913129171686412988572296871675315617792000000000000000000085!=28171041143805502769494794422606115948005663433057420640510191275256002615979593345104028645234092401827512320000000000000000000086!=2422709538367273238176552320344125971528487055242938175083876449672016224974245027678946463490131946557166059520000000000000000000087!=210775729837952771721360051869938959522978373806135621232297251121465411572759317408068342323641479350473447178240000000000000000000088!=18548264225739843911479684564554628438022096894939934668442158098688956218402819931910014124480450182841663351685120000000000000000000089!=1650795516090846108121691926245361930983966623649654185491352070783317103437850973939991257078760066272908038299975680000000000000000000090!=148571596448176149730952273362082573788556996128468876694221686370498539309406587654599213137088405964561723446997811200000000000000000000091!=13520015276784029625516656875949514214758686647690667779174173459715367077155999476568528395475044942775116833676800819200000000000000000000092!=1243841405464130725547532432587355307757799171587541435684023958293813771098351951844304612383704134735310748698265675366400000000000000000000093!=115677250708164157475920516230624043621475322957641353518614228121324680712146731521520328951684484530383899628938707809075200000000000000000000094!=10873661566567430802736528525678660100418680358018287230749737443404519986941792763022910921458341545856086565120238534053068800000000000000000000095!=1032997848823905926259970209939472709539774634011737286921225057123429398759470312487176537538542446856328223686422660735041536000000000000000000000096!=99167793487094968920957140154189380115818364865126779544437605483849222280909149998768947603700074898207509473896575430563987456000000000000000000000097!=9619275968248211985332842594956369871234381391917297615810447731933374561248187549880587917558907265126128418967967816764706783232000000000000000000000098!=942689044888324774562618574305724247380969376407895166349423877729470707002322379888297615920772911982360585058860846042941264756736000000000000000000000099!=933262154439441526816992388562667004907159682643816214685929638952175999932299156089414639761565182862536979208272237582511852109168640000000000000000000000100!=93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
Process finished with exit code 0