3 ms·
Re: Evolution of a Python programmer
http://gist.github.com/289467
If I may add:
# maths grad student programmer
def factorial( n):
return double_factorial[n]
double_factorial = (
1.0000000000000000000000000e+00,
1.0000000000000000000000000e+00,
2.0000000000000000000000000e+00,
6.0000000000000000000000000e+00,
2.4000000000000000000000000e+01,
1.2000000000000000000000000e+02,
7.2000000000000000000000000e+02,
5.0400000000000000000000000e+03,
4.0320000000000000000000000e+04,
3.6288000000000000000000000e+05,
3.6288000000000000000000000e+06,
3.9916800000000000000000000e+07,
4.7900160000000000000000000e+08,
6.2270208000000000000000000e+09,
8.7178291200000000000000000e+10,
1.3076743680000000000000000e+12,
2.0922789888000000000000000e+13,
3.5568742809600000000000000e+14,
6.4023737057280000000000000e+15,
1.2164510040883200000000000e+17,
2.4329020081766400000000000e+18,
5.1090942171709440000000000e+19,
1.1240007277776076800000000e+21,
2.5852016738884978212864000e+22,
6.2044840173323940999987200e+23,
1.5511210043330986055303168e+25,
4.0329146112660565032278426e+26,
1.0888869450418351940239884e+28,
3.0488834461171387191890280e+29,
8.8417619937397018986200884e+30,
2.6525285981219106821760172e+32,
8.2228386541779224301985099e+33,
2.6313083693369351776635232e+35,
8.6833176188118859387156739e+36,
2.9523279903960415733408153e+38,
1.0333147966386145431134990e+40,
3.7199332678990125486367275e+41,
1.3763753091226345578872115e+43,
5.2302261746660111714185989e+44,
2.0397882081197444123129673e+46,
8.1591528324789768379554852e+47,
3.3452526613163807956284472e+49,
1.4050061177528799549331353e+51,
6.0415263063373834074440829e+52,
2.6582715747884488694165799e+54,
1.1962222086548018857499272e+56,
5.5026221598120891535672379e+57,
2.5862324151116817767349101e+59,
1.2413915592536072528327568e+61,
6.0828186403426752248860161e+62,
3.0414093201713375576366966e+64,
1.5511187532873821894707546e+66,
8.0658175170943876845634592e+67,
4.2748832840600254847912548e+69,
2.3084369733924137924371884e+71,
1.2696403353658276446882824e+73,
7.1099858780486348102543814e+74,
4.0526919504877214099803980e+76,
2.3505613312828784949216570e+78,
1.3868311854568983860514827e+80,
8.3209871127413898950597294e+81,
5.0758021387722483583354016e+83,
3.1469973260387939390320343e+85,
1.9826083154044400849657328e+87,
1.2688693218588416543780690e+89,
8.2476505920824715167353803e+90,
5.4434493907744306944549606e+92,
3.6471110918188683221214362e+94,
2.4800355424368305479709012e+96,
1.7112245242814129737573543e+98,
1.1978571669969892212594747e+100,
8.5047858856786230047017360e+101,
6.1234458376886084639206026e+103,
4.4701154615126843855485063e+105,
3.3078854415193862416022970e+107,
2.4809140811395399745349034e+109,
1.8854947016660503806465265e+111,
1.4518309202828587210082630e+113,
1.1324281178206296793535919e+115,
8.9461821307829757136262888e+116,
7.1569457046263805709010310e+118,
5.7971260207473678413578236e+120,
4.7536433370128420198081801e+122,
3.9455239697206587883704426e+124,
3.3142401345653531943477652e+126,
2.8171041143805501310238342e+128,
2.4227095383672734128129665e+130,
2.1077572983795278543715285e+132,
1.8548264225739843605432413e+134,
1.6507955160908460243967687e+136,
1.4857159644817615149180874e+138,
1.3520015276784029157751425e+140,
1.2438414054641308178973935e+142,
1.1567725070816415658755923e+144,
1.0873661566567430753888939e+146,
1.0329978488239059304919922e+148,
9.9167793487094964784489225e+149,
9.6192759682482120383696575e+151,
9.4268904488832479836729778e+153,
9.3326215443944153252083631e+155,
9.3326215443944150965646705e+157,
9.4259477598383598816354915e+159,
9.6144667150351270792682013e+161,
9.9029007164861804720832422e+163,
1.0299016745145628100140398e+166,
1.0813967582402909767018666e+168,
1.1462805637347083682649390e+170,
1.2265202031961380049931548e+172,
1.3246418194518290179334166e+174,
1.4438595832024936624984529e+176,
1.5882455415227430287482981e+178,
1.7629525510902445873527557e+180,
1.9745068572210740115452900e+182,
2.2311927486598137657245442e+184,
2.5435597334721876551863561e+186,
2.9250936934930159966911857e+188,
3.3931086844518980862340126e+190,
3.9699371608087210616475630e+192,
4.6845258497542909236586970e+194,
5.5745857612076058231040010e+196,
6.6895029134491271205092994e+198,
8.0942985252734440920080086e+200,
9.8750442008336010580046092e+202,
1.2146304367025329301345669e+205,
1.5061417415111409313880481e+207,
1.8826771768889261129076032e+209,
2.3721732428800468511642451e+211,
3.0126600184576594308995034e+213,
3.8562048236258040715513644e+215,
4.9745042224772874589728998e+217,
6.4668554892204741473620343e+219,
8.4715806908788206313986139e+221,
1.1182486511960043297656814e+224,
1.4872707060906857133840633e+226,
1.9929427461615187928130140e+228,
2.6904727073180504073289257e+230,
3.6590428819525488642227787e+232,
5.0128887482749919605321636e+234,
6.9177864726194885807727806e+236,
9.6157231969410893531952817e+238,
1.3462012475717525742234420e+241,
1.8981437590761708897983991e+243,
2.6953641378881628530300954e+245,
3.8543707171800730787494170e+247,
5.5502938327393044385098973e+249,
8.0479260574719917061017006e+251,
1.1749972043909107097291042e+254,
1.7272458904546389230256097e+256,
2.5563239178728653927014406e+258,
3.8089226376305697893300731e+260,
5.7133839564458546839951097e+262,
8.6272097742332399855113439e+264,
1.3113358856834524491588203e+267,
2.0063439050956822953263537e+269,
3.0897696138473507758593174e+271,
4.7891429014633940779577834e+273,
7.4710629262828942234753358e+275,
1.1729568794264144742677105e+278,
1.8532718694937349890004525e+280,
2.9467022724950384027683772e+282,
4.7147236359920616095214446e+284,
7.5907050539472189932190766e+286,
1.2296942187394494177325029e+289,
2.0044015765453026266402837e+291,
3.2872185855342959088410496e+293,
5.4239106661315886750266820e+295,
9.0036917057784375454334676e+297,
1.5036165148649991455999665e+300,
2.5260757449731984218543205e+302,
4.2690680090047051083347677e+304,
7.2574156153079990350004096e+306 )