play again?
10,000 digits of:
Sources
- http://apod.nasa.gov/htmltest/gifcity/e.1mil
- http://www.eveandersson.com/pi/digits/1000000
- http://apod.nasa.gov/htmltest/gifcity/sqrt2.1mil
1.414213562373095048801688724209698078569671875376948073176679737990732478462107038850387534327641572735013846230912297024924836055850737212644121497099935831413222665927505592755799950501152782060571470109559971605970274534596862014728517418640889198609552329230484308714321450839762603627995251407989687253396546331808829640620615258352395054745750287759961729835575220337531857011354374603408498847160386899970699004815030544027790316454247823068492936918621580578463111596668713013015618568987237235288509264861249497715421833420428568606014682472077143585487415565706967765372022648544701585880162075847492265722600208558446652145839889394437092659180031138824646815708263010059485870400318648034219489727829064104507263688131373985525611732204024509122770022694112757362728049573810896750401836986836845072579936472906076299694138047565482372899718032680247442062926912485905218100445984215059112024944134172853147810580360337107730918286931471017111168391658172688941975871658215212822951848847208969463386289156288276595263514054226765323969461751129160240871551013515045538128756005263146801712740265396947024030051749531886292563138518816347800156936917688185237868405228783762938921430065586956868596459515550164472450983689603688732311438941557665104088391429233811320605243362948531704991577175622854974143899918802176243096520656421182731672625753959471725593463723863226148274262220867115583959992652117625269891754098815934864008345708518147223181420407042650905653233339843645786579679651926729239987536661721598257886026336361782749599421940377775368142621773879919455139723127406689832998989538672882285637869774966251996658352577619893932284534473569479496295216889148549253890475582883452609652409654288939453864662574492755638196441031697983306185201937938494005715633372054806854057586799967012137223947582142630658513221740883238294728761739364746783743196000159218880734785761725221186749042497736692920731109636972160893370866115673458533483329525467585164471075784860246360083444911481858765555428645512331421992631133251797060843655970435285641008791850076036100915946567067688360557174007675690509613671940132493560524018599910506210816359772643138060546701029356997104242510578174953105725593498445112692278034491350663756874776028316282960553242242695753452902883876844642917328277088831808702533985233812274999081237189254072647536785030482159180188616710897286922920119759988070381854333253646021108229927929307287178079988809917674177410898306080032631181642798823117154363869661702999934161614878686018045505553986913115186010386375325004558186044804075024119518430567453368361367459737442398855328517930896037389891517319587413442881784212502191695187559344438739618931454999990610758704909026088351763622474975785885836803745793115733980209998662218694992259591327642361941059210032802614987456659968887406795616739185957288864247346358588686449682238600698335264279905628316561391394255764906206518602164726303336297507569787060660685649816009271870929215313236828135698893709741650447459096053747279652447709409924123871061447054398674364733847745481910087288622214958952959118789214917983398108378827815306556231581036064867587303601450227320882935134138722768417667843690529428698490838455744579409598626074249954916802853077398938296036213353987532050919989360751390644449576845699347127636450716327915470159773354863893942325727754003826027478567417258095141630715959784981800944356037939098559016827215403458158152100493666295344882710729239660232163823826661262683050257278116945103537937156882336593229782319298606467978986409208560955814261436363100461559433255047449397593399912541953230093217530447653396470662761166175351875464620967634558738616488019884849747926404506544489691004079421181692579685756378488149898641685499491635761448404702103398921534237703723335311564594438970365316672194904935188290580630740134686264167247011065346349391640714628556798017793381442404526913706660977763878486623800339232437047411533187253190601916599645538115788841380843323210533767461812178014296092832411362752540887372905129407339479433061943956936702079429515878228349321931666411130154959469837897767434443539337709957134988407890850815892366070088658105470949790465722988880892461282816013133701029080290999745647849581545614648715516390502419857906131093458783306200262207372471676685455499904994085710809925759928893236615438271955005781625133038153146577907926868500806984428479152424275441026805756321565322061885751225113063937025362927161968251259192025216058701189596732244239267423734490764646727375347964598819149807931718002423855453886038368310800779182466462754117444250018727779518164383451463461299020763343017968554385631667723518389336667042222110939144930287963812839889311731308430042125550185498506529455637766031461255909104611384768282359592477228629042642736163264585443392877263860343149804896397363329754885925681149296836126725898573833216436663487023477302610106130507298611534129948808774473111229542652751653665911730142360626525869077198217037098104644360477226739282987415259306956206384710827408218490673723305874302970924289948173924407869375284401044399048520878851914193541512900681735170306938697059004742515765524807844736214410501620084544412225595620298472594035280190679806809830039645398568593045862526063779745355992774729906488874545124249607637801086390019105809287476472075110923860595019543228160208879621516233852161287522851802529287618325703717285740676394490982546442218465430880661058020158472840671263025459379890650816857137165668594130053319703659640337667414610495637651030836613489310947802681293557331890551970520184515039969098663152512411611192594055280856498931958983456233198368349488080617156243911286631279784837197895336901527760054980551663501978555711014055529763384127504468604647663183266116518206750120476699109872191044474403268943641595942792199442355371870429955924031409171284815854386600538571358363981630945240755700932516824344168240836197927337282521546224696153321702682995097908903459485887834943961620435842249739718711395892730509219705491717696160044558089942787888036916943289459514722672292612485069617316380941082186004528610269654757630431025602715231396948213551982140971654909731999283492567409749039229712634869341457493319804171807611196390227866407592243416776246623623891311027034330457636814112832132630858223945621959808661293999620123415617631817431242008901498384856048087986460839359649236651429681257731432291456871682762199611827826953157498380262465175905410397618128760421638613450221326272775661244113361077519555774950865636067378665062318564069912280187574178549466125327599769796059776059075648910666101583841720281853043211904465775255427754379872605488173619826758168628329526078993222668360283851351228105931859102864150815705631971731518313625024359041463212239217663398268936825315053005989154702909537193266207341123494743367884690201390497842852163414429214589558287847669394646426781221904978563635526336827805186009869924893778600239876916980765662194389854437080594643336233381058745816235475600136592435242657143083465545768002370814675732525470255074763747163506785159917369379325103268276062864591461820472148637037077192692682362333472037924596469181052613915308628029144096548256387309273042654466292904589606375191871146934536197332478957270703153093090192119919999361576500350398405406742538792752792272473356677060783791138448893626136765706026360031513295209539520285489738448625613492441470860708660267634997879342087583612194711699422384848259591430452810706260150896913530301772006271705440209066951491527459771970594769547409521028787255785688002219371774355811079393088338455864827729100862955456614130672123084874022712105868632338823741388442893815544464710575565146843570294663506289387356986868837648032651952841465351739530273612013742030098673983851432190043602898269829352939941412923058038456502270721681516194101144982630136490087704839848838609065336859905458389520318564804149327214239086516499943165920796595356943072311291162928679751715668890543932203569129332457020806719444049730494398140822782960279942454108316667592142483518272381720504103927428880155622338079614751243351473102128454594489944499600075243751957011668341744749079588209951783676802323651767497230148745774272599476096219843271483529861119027287358490521797590837419748602670605374623153003937521236786775284869219585713755426968482783631786110993368014391590597484285805451613023014397905701610889862777961075067333267604865492925139978139053588227689373220494148394013556035656044214017612060513180689198996260618483185340183623782172663758045524719626617492542285280457144204857834211322800852870420548899234127855481236761537707104254469868521991122835426634999712748366076246241820736466617128394748473280474430403344107200428727127567027956758242926271945458053002666489965079569778178621942172005237165369467704195111912704624836051130289046437751148694887849615118841471910001255883836660677208411235153558811267789571558590412576261601067513153580212427331871000635824954504099579407254798900316826512373119055668291519430537084893078691974282904903860372311609928342431712225099454715019286664878710795199518005463388384431548172463548024451803084527343100062137103462573306001234973744355818096567846464153390514656919324562353140577919369898842364718352537580525771331120079710406831549266540202604680681839143782721476906324246951712863673844313983337117615941869993466262345373452356794012416809229116360956372167452839170990914664850739205151605604737871061547021699607465693097944261214692561593425649401912298951473254471518126325836889728226283329524035970072786336460459470712417472946877570595815734996284809956783925547424044899188707106967524250774520122936081057414265323472406416214103335334055110452126175035902840374545918645047276243420717709297935401021409646450283683418040758608100140721619247717980985968111540446443728568959286831977797786934641598469745133917741537904877880830022058335046746555323028587325835 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930381964428810975665933446128475648233786783165271201909145648566923460348610454326648213393607260249141273724587006606315588174881520920962829254091715364367892590360011330530548820466521384146951941511609433057270365759591953092186117381932611793105118548074462379962749567351885752724891227938183011949129833673362440656643086021394946395224737190702179860943702770539217176293176752384674818467669405132000568127145263560827785771342757789609173637178721468440901224953430146549585371050792279689258923542019956112129021960864034418159813629774771309960518707211349999998372978049951059731732816096318595024459455346908302642522308253344685035261931188171010003137838752886587533208381420617177669147303598253490428755468731159562863882353787593751957781857780532171226806613001927876611195909216420198938095257201065485863278865936153381827968230301952035301852968995773622599413891249721775283479131515574857242454150695950829533116861727855889075098381754637464939319255060400927701671139009848824012858361603563707660104710181942955596198946767837449448255379774726847104047534646208046684259069491293313677028989152104752162056966024058038150193511253382430035587640247496473263914199272604269922796782354781636009341721641219924586315030286182974555706749838505494588586926995690927210797509302955321165344987202755960236480665499119881834797753566369807426542527862551818417574672890977772793800081647060016145249192173217214772350141441973568548161361157352552133475741849468438523323907394143334547762416862518983569485562099219222184272550254256887671790494601653466804988627232791786085784383827967976681454100953883786360950680064225125205117392984896084128488626945604241965285022210661186306744278622039194945047123713786960956364371917287467764657573962413890865832645995813390478027590099465764078951269468398352595709825822620522489407726719478268482601476990902640136394437455305068203496252451749399651431429809190659250937221696461515709858387410597885959772975498930161753928468138268683868942774155991855925245953959431049972524680845987273644695848653836736222626099124608051243884390451244136549762780797715691435997700129616089441694868555848406353422072225828488648158456028506016842739452267467678895252138522549954666727823986456596116354886230577456498035593634568174324112515076069479451096596094025228879710893145669136867228748940560101503308617928680920874760917824938589009714909675985261365549781893129784821682998948722658804857564014270477555132379641451523746234364542858444795265867821051141354735739523113427166102135969536231442952484937187110145765403590279934403742007310578539062198387447808478489683321445713868751943506430218453191048481005370614680674919278191197939952061419663428754440643745123718192179998391015919561814675142691239748940907186494231961567945208095146550225231603881930142093762137855956638937787083039069792077346722182562599661501421503068038447734549202605414665925201497442850732518666002132434088190710486331734649651453905796268561005508106658796998163574736384052571459102897064140110971206280439039759515677157700420337869936007230558763176359421873125147120532928191826186125867321579198414848829164470609575270695722091756711672291098169091528017350671274858322287183520935396572512108357915136988209144421006751033467110314126711136990865851639831501970165151168517143765761835155650884909989859982387345528331635507647918535893226185489632132933089857064204675259070915481416549859461637180270981994309924488957571282890592323326097299712084433573265489382391193259746366730583604142813883032038249037589852437441702913276561809377344403070746921120191302033038019762110110044929321516084244485963766983895228684783123552658213144957685726243344189303968642624341077322697802807318915441101044682325271620105265227211166039666557309254711055785376346682065310989652691862056476931257058635662018558100729360659876486117910453348850346113657686753249441668039626579787718556084552965412665408530614344431858676975145661406800700237877659134401712749470420562230538994561314071127000407854733269939081454664645880797270826683063432858785698305235808933065757406795457163775254202114955761581400250126228594130216471550979259230990796547376125517656751357517829666454779174501129961489030463994713296210734043751895735961458901938971311179042978285647503203198691514028708085990480109412147221317947647772622414254854540332157185306142288137585043063321751829798662237172159160771669254748738986654949450114654062843366393790039769265672146385306736096571209180763832716641627488880078692560290228472104031721186082041900042296617119637792133757511495950156604963186294726547364252308177036751590673502350728354056704038674351362222477158915049530984448933309634087807693259939780541934144737744184263129860809988868741326047215695162396586457302163159819319516735381297416772947867242292465436680098067692823828068996400482435403701416314965897940924323789690706977942236250822168895738379862300159377647165122893578601588161755782973523344604281512627203734314653197777416031990665541876397929334419521541341899485444734567383162499341913181480927777103863877343177207545654532207770921201905166096280490926360197598828161332316663652861932668633606273567630354477628035045077723554710585954870279081435624014517180624643626794561275318134078330336254232783944975382437205835311477119926063813346776879695970309833913077109870408591337464144282277263465947047458784778720192771528073176790770715721344473060570073349243693113835049316312840425121925651798069411352801314701304781643788518529092854520116583934196562134914341595625865865570552690496520985803385072242648293972858478316305777756068887644624824685792603953527734803048029005876075825104747091643961362676044925627420420832085661190625454337213153595845068772460290161876679524061634252257719542916299193064553779914037340432875262888963995879475729174642635745525407909145135711136941091193932519107602082520261879853188770584297259167781314969900901921169717372784768472686084900337702424291651300500516832336435038951702989392233451722013812806965011784408745196012122859937162313017114448464090389064495444006198690754851602632750529834918740786680881833851022833450850486082503930213321971551843063545500766828294930413776552793975175461395398468339363830474611996653858153842056853386218672523340283087112328278921250771262946322956398989893582116745627010218356462201349671518819097303811980049734072396103685406643193950979019069963955245300545058068550195673022921913933918568034490398205955100226353536192041994745538593810234395544959778377902374216172711172364343543947822181852862408514006660443325888569867054315470696574745855033232334210730154594051655379068662733379958511562578432298827372319898757141595781119635833005940873068121602876496286744604774649159950549737425626901049037781986835938146574126804925648798556145372347867330390468838343634655379498641927056387293174872332083760112302991136793862708943879936201629515413371424892830722012690147546684765357616477379467520049075715552781965362132392640616013635815590742202020318727760527721900556148425551879253034351398442532234157623361064250639049750086562710953591946589751413103482276930624743536325691607815478181152843667957061108615331504452127473924544945423682886061340841486377670096120715124914043027253860764823634143346235189757664521641376796903149501910857598442391986291642193994907236234646844117394032659184044378051333894525742399508296591228508555821572503107125701266830240292952522011872676756220415420516184163484756516999811614101002996078386909291603028840026910414079288621507842451670908700069928212066041837180653556725253256753286129104248776182582976515795984703562226293486003415872298053498965022629174878820273420922224533985626476691490556284250391275771028402799806636582548892648802545661017296702664076559042909945681506526530537182941270336931378517860904070866711496558343434769338578171138645587367812301458768712660348913909562009939361031029161615288138437909904231747336394804575931493140529763475748119356709110137751721008031559024853090669203767192203322909433467685142214477379393751703443661991040337511173547191855046449026365512816228824462575916333039107225383742182140883508657391771509682887478265699599574490661758344137522397096834080053559849175417381883999446974867626551658276584835884531427756879002909517028352971634456212964043523117600665101241200659755851276178583829204197484423608007193045761893234922927965019875187212726750798125547095890455635792122103334669749923563025494780249011419521238281530911407907386025152274299581807247162591668545133312394804947079119153267343028244186041426363954800044800267049624820179289647669758318327131425170296923488962766844032326092752496035799646925650493681836090032380929345958897069536534940603402166544375589004563288225054525564056448246515187547119621844396582533754388569094113031509526179378002974120766514793942590298969594699556576121865619673378623625612521632086286922210327488921865436480229678070576561514463204692790682120738837781423356282360896320806822246801224826117718589638140918390367367222088832151375560037279839400415297002878307667094447456013455641725437090697939612257142989467154357846878861444581231459357198492252847160504922124247014121478057345510500801908699603302763478708108175450119307141223390866393833952942578690507643100638351983438934159613185434754649556978103829309716465143840700707360411237359984345225161050702705623526601276484830840761183013052793205427462865403603674532865105706587488225698157936789766974220575059683440869735020141020672358502007245225632651341055924019027421624843914035998953539459094407046912091409387001264560016237428802109276457931065792295524988727584610126483699989225695968815920560010165525637567 2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571382178525166427427466391932003059921817413596629043572900334295260595630738132328627943490763233829880753195251019011573834187930702154089149934884167509244761460668082264800168477411853742345442437107539077744992069551702761838606261331384583000752044933826560297606737113200709328709127443747047230696977209310141692836819025515108657463772111252389784425056953696770785449969967946864454905987931636889230098793127736178215424999229576351482208269895193668033182528869398496465105820939239829488793320362509443117301238197068416140397019837679320683282376464804295311802328782509819455815301756717361332069811250996181881593041690351598888519345807273866738589422879228499892086805825749279610484198444363463244968487560233624827041978623209002160990235304369941849146314093431738143640546253152096183690888707016768396424378140592714563549061303107208510383750510115747704171898610687396965521267154688957035035402123407849819334321068170121005627880235193033224745015853904730419957777093503660416997329725088687696640355570716226844716256079882651787134195124665201030592123667719432527867539855894489697096409754591856956380236370162112047742722836489613422516445078182442352948636372141740238893441247963574370263755294448337998016125492278509257782562092622648326277933386566481627725164019105900491644998289315056604725802778631864155195653244258698294695930801915298721172556347546396447910145904090586298496791287406870504895858671747985466775757320568128845920541334053922000113786300945560688166740016984205580403363795376452030402432256613527836951177883863874439662532249850654995886234281899707733276171783928034946501434558897071942586398772754710962953741521115136835062752602326484728703920764310059584116612054529703023647254929666938115137322753645098889031360205724817658511806303644281231496550704751025446501172721155519486685080036853228183152196003735625279449515828418829478761085263981395599006737648292244375287184624578036192981971399147564488262603903381441823262515097482798777996437308997038886778227138360577297882412561190717663946507063304527954661855096666185664709711344474016070462621568071748187784437143698821855967095910259686200235371858874856965220005031173439207321139080329363447972735595527734907178379342163701205005451326383544000186323991490705479778056697853358048966906295119432473099587655236812859041383241160722602998330535370876138939639177957454016137223618789365260538155841587186925538606164779834025435128439612946035291332594279490433729908573158029095863138268329147711639633709240031689458636060645845925126994655724839186564209752685082307544254599376917041977780085362730941710163434907696423722294352366125572508814779223151974778060569672538017180776360346245927877846585065605078084421152969752189087401966090665180351650179250461950136658543663271254963990854914420001457476081930221206602433009641270489439039717719518069908699860663658323227870937650226014929101151717763594460202324930028040186772391028809786660565118326004368850881715723866984224220102495055188169480322100251542649463981287367765892768816359831247788652014117411091360116499507662907794364600585194199856016264790761532103872755712699251827568798930276176114616254935649590379804583818232336861201624373656984670378585330527583333793990752166069238053369887956513728559388349989470741618155012539706464817194670834819721448889879067650379590366967249499254527903372963616265897603949857674139735944102374432970935547798262961459144293645142861715858733974679189757121195618738578364475844842355558105002561149239151889309946342841393608038309166281881150371528496705974162562823609216807515017772538740256425347087908913729172282861151591568372524163077225440633787593105982676094420326192428531701878177296023541306067213604600038966109364709514141718577701418060644363681546444005331608778314317444081194942297559931401188868331483280270655383300469329011574414756313999722170380461709289457909627166226074071874997535921275608441473782330327033016823719364800217328573493594756433412994302485023573221459784328264142168487872167336701061509424345698440187331281010794512722373788612605816566805371439612788873252737389039289050686532413806279602593038772769778379286840932536588073398845721874602100531148335132385004782716937621800490479559795929059165547050577751430817511269898518840871856402603530558373783242292418562564425502267215598027401261797192804713960068916382866527700975276706977703643926022437284184088325184877047263844037953016690546593746161932384036389313136432713768884102681121989127522305625675625470172508634976536728860596675274086862740791285657699631378975303466061666980421826772456053066077389962421834085988207186468262321508028828635974683965435885668550377313129658797581050121491620765676995065971534476347032085321560367482860837865680307306265763346977429563464371670939719306087696349532884683361303882943104080029687386911706666614680001512114344225602387447432525076938707777519329994213727721125884360871583483562696166198057252661220679754062106208064988291845439530152998209250300549825704339055357016865312052649561485724925738620691740369521353373253166634546658859728665945113644137033139367211856955395210845840724432383558606310680696492485123263269951460359603729725319836842336390463213671011619282171115028280160448805880238203198149309636959673583274202498824568494127386056649135252670604623445054922758115170931492187959271800194096886698683703730220047531433818109270803001720593553052070070607223399946399057131158709963577735902719628506114651483752620956534671329002599439766311454590268589897911583709341937044115512192011716488056694593813118384376562062784631049034629395002945834116482411496975832601180073169943739350696629571241027323913874175492307186245454322203955273529524024590380574450289224688628533654221381572213116328811205214648980518009202471939171055539011394331668151582884368760696110250517100739276238555338627255353883096067164466237092264680967125406186950214317621166814009759528149390722260111268115310838731761732323526360583817315103459573653822353499293582283685100781088463434998351840445170427018938199424341009057537625776757111809008816418331920196262341628816652137471732547772778348877436651882875215668571950637193656539038944936642176400312152787022236646363575550356557694888654950027085392361710550213114741374410613444554419210133617299628569489919336918472947858072915608851039678195942983318648075608367955149663644896559294818785178403877332624705194505041984774201418394773120281588684570729054405751060128525805659470304683634459265255213700806875200959345360731622611872817392807462309468536782310609792159936001994623799343421068781349734695924646975250624695861690917857397659519939299399556754271465491045686070209901260681870498417807917392407194599632306025470790177452751318680998228473086076653686685551646770291133682756310722334672611370549079536583453863719623585631261838715677411873852772292259474337378569553845624680101390572787101651296663676445187246565373040244368414081448873295784734849000301947788802046032466084287535184836495919508288832320652212810419044804724794929134228495197002260131043006241071797150279343326340799596053144605323048852897291765987601666781193793237245385720960758227717848336161358261289622611812945592746276713779448758675365754486140761193112595851265575973457301533364263076798544338576171533346232527057200530398828949903425956623297578248873502925916682589445689465599265845476269452878051650172067478541788798227680653665064191097343452887833862172615626958265447820567298775642632532159429441803994321700009054265076309558846589517170914760743713689331946909098190450129030709956622662030318264936573369841955577696378762491885286568660760056602560544571133728684020557441603083705231224258722343885412317948138855007568938112493538631863528708379984569261998179452336408742959118074745341955142035172618420084550917084568236820089773945584267921427347756087964427920270831215015640634134161716644806981548376449157390012121704154787259199894382536495051477137939914720521952907939613762110723849429061635760459623125350606853765142311534966568371511660422079639446662116325515772907097847315627827759878813649195125748332879377157145909106484164267830994972367442017586226940215940792448054125536043131799269673915754241929660731239376354213923061787675395871143610408940996608947141834069836299367536262154524729846421375289107988438130609555262272083751862983706678722443019579379378607210725427728907173285487437435578196651171661833088112912024520404868220007234403502544820283425418788465360259150644527165770004452109773558589762265548494162171498953238342160011406295071849042778925855274303522139683567901807640604213830730877446017084268827226117718084266433365178000217190344923426426629226145600433738386833555534345300426481847398921562708609565062934040526494324426144566592129122564889356965500915430642613425266847259491431423939884543248632746184284665598533231221046625989014171210344608427161661900125719587079321756969854401339762209674945418540711844643394699016269835160784892451405894094639526780735457970030705116368251948770118976400282764841416058720618418529718915401968825328930914966534575357142731848201638464483249903788606900807270932767312758196656394114896171683298045513972950668760474091542042842999354102582911350224169076943166857424252250902693903481485645130306992519959043638402842926741257342244776558417788617173726546208549829449894678735092958165263207225899236876845701782303809656788311228930580914057261086588484587310165815116753332767488701482916741970151255978257270740643180860142814902414678047232759768426963393577354293018673943971638861176420900406866339885684168100387238921448317607011668450388721236436704331409115573328018297798873659091665961240202177855885487617616198937079438005666336488436508914480557103976521469602766258359905198704230017946553678// Magic
var maxDigits; var numDigits; var piSubstrings = {}; var eSubstrings = {}; var sqrt2Substrings = {}; var commonSubstrings = []; function digitsOf(id, max) { var e = document.getElementById(id); return e.innerHTML.replace(/(\r\n|\n|\r|\.)/gm,"").substring(0, max); } function ponderThisOctober2016() { var pi = digitsOf("pi", maxDigits); var e = digitsOf("e", maxDigits); var sqrt2 = digitsOf("sqrt2", maxDigits); function analyzeThis(nSubstrings, n, i, j) { var sub = n.substring(i,j); if (nSubstrings[sub] == undefined) { nSubstrings[sub] = []; } nSubstrings[sub].push(i+numDigits); piTimes = piSubstrings[sub]; eTimes = eSubstrings[sub]; sqrt2Times = sqrt2Substrings[sub]; if (piTimes != undefined && eTimes != undefined && sqrt2Times != undefined) { var totalSeconds = piTimes[0] + eTimes[0] + sqrt2Times[0]; commonSubstrings.push({substring: sub, minTimeToPrint: totalSeconds}); } } function compare(a,b) { if (a.minTimeToPrint < b.minTimeToPrint) return -1; if (a.minTimeToPrint > b.minTimeToPrint) return 1; return 0; } function pad(num, size) { var s = num+""; while (s.length < size) s = "0" + s; return s; } function broadcast(message) { alert(message); console.log(message); } function getURLParameter(name) { return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search) || [null, ''])[1].replace(/\+/g, '%20')) || null; } numDigits = getURLParameter("numDigits"); maxDigits = getURLParameter("maxDigits"); if (numDigits == null) numDigits = 2; if (maxDigits == null) maxDigits = 100; numDigits = parseInt(numDigits); maxDigits = parseInt(maxDigits); broadcast("If we play this game for " + numDigits + "-digit numbers (knowing at most " + maxDigits + " digits per number) ...") for (var i=0; i<maxDigits; i++) { var j = i+numDigits; analyzeThis(piSubstrings, pi, i, j); analyzeThis(eSubstrings, e, i, j); analyzeThis(sqrt2Substrings, sqrt2, i, j); } commonSubstrings.sort(compare); var itemNumber = 0; commonSubstrings.forEach(function(item) { var secs = item.minTimeToPrint; var hours = parseInt( secs / 3600 ); var minutes = pad(parseInt( secs / 60 ) % 60, 2); var seconds = pad(secs % 60, 2); if (itemNumber == 0) { broadcast("You can win with " + item.substring + " in " + hours + ":" + minutes + ":" + seconds); } itemNumber++; console.log(item.substring + ": " + hours + ":" + minutes + ":" + seconds); }); }