by Michael S. Kaplan, published on 2008/01/10 19:16 -05:00, original URI: http://blogs.msdn.com/b/michkap/archive/2008/01/10/7064507.aspx
In the bold tradition of interview questions I might be willing to ask, and inspired by Event code of The Beast from earlier today, as modified by Lionel's comment pointing out the error in Heinlein's book...
The question?
Write a program to provide the exact value of 666, by which I mean not
(6^6)^6, i.e. 10,314,424,798,490,535,546,171,949,056
but instead
6^(6^6), i.e. ?????
Anyone think they can do it?
Extra points if you include the commas.
And extra extra points if you instead do the grouping appropriately from an internationalization standpoint....
Disqualification if you use the Perl trick that does not display so well in the blog admin panel. :-)
The program should try to display the string, and you will not be penalized if the technology you use to display it can't handle such big strings, a long as the code is right and the algorithm is sound. :-)
This post brought to you by ? (U+003f, aka QUESTION MARK and by Grey's Anatomy, which has an all new episode on tonight!)
Leo Davidson on 10 Jan 2008 8:13 PM:
666 may not even be the number of the beast. It was originally 616:
http://en.wikipedia.org/wiki/Number_of_the_Beast
Rather topitcally for this blog, it could be that 616 and 666 are both the number of the best, depending on which language you are using:
"The difference in numbers has also been explained by the fact that the Greek and Latin spellings of Nero’s name transliterate differently into Hebrew"
(The theory being that 616/666 were codes for "Nero" and the whole thing was about secretly calling Emperor Nero evil. Luckily they used such vague terms that this rubbish has stayed with us to today!)
John Cowan on 10 Jan 2008 8:43 PM:
The program: 6^(6^6)
The programming language: GNU dc
The result:
26591197721532267796824894043879185949053422002699243006604327894970\
73559873882909121342292906175583032440682826506723425601635775590279\
38964261261109302039893034777446061389442537960087466214788422902213\
38538191929054279157507592749529351093190203622719898305785393288076\
33196834507090639946131138999460277671978289412532212329252032960511\
82048791364008389549044365792095626712629192228922460944103484957826\
64612196908796750399200513913881745252594431938650416303480003232957\
29231692725808120388628956451330203199414186213654593812478970390749\
48526861497196424842856278264872081854849393729902569313271916554406\
04310691360290106405589595342121237460796607669833067350605324829255\
53082121188696097199078085563246046013216102655431476452400396602364\
73266424625276737459325658213465426520922004237014324045664647970387\
86340284767995163013023205896206379946238959999623765306258741489986\
09130106933187937209476887496871311072138713943694894357288061061557\
70846190228969206308973600818603623114117110987742542396241094684938\
89723692229868569843429449642470140802948317293238661862906599604019\
82268428236465384225861137048838579890077022295539374968348386848712\
15875596667442178077474619334121028488932766083813638995310139077457\
47583017755132533814473213150908783426202141074589657337735067867485\
00983854143886020410911137397044764712489617813465760745096497895609\
93834854196961759483379704895730837108476073243820752302407048567636\
67432479494526195685630430975192812799018655672514228368286091531262\
16460734531580088032153886436826164112198670123722096795280535015168\
15952615060246385651031976562807101388014614012727625982704958770707\
41057482616585331728048997966476657995120161218577945543147328079444\
63937679710202841966709590373326913064850948797116576075927387526548\
69501755331152983075423102199223873789151170394698211199449920074131\
30855421468121310055368130342893348419398706895221834830267883182792\
11074015593520658290920832202358534204685761697532570041173608482405\
87083162510683198727366804395473509269321561136071328831038756345050\
32211015537060520577332217468285854542008911260777694375623571868579\
10833294891503888491935343685602140772592750173300818010227855065558\
13374097953179402013552081883260678201008163982491139468985286586839\
52592451639902206088916703402630725949553703103686571060617719327562\
81595158761511358752063833845658033450100019679909002978977210476250\
41503686189053938223646710134213940404719809893782173642263134508441\
55084928788944718684436772321138168459653343097848549218348328628086\
60597629375332357901523469134820529075740654769854280749874632006305\
23320192960729488033220100471728132419843750933418994651827766195280\
39853545787921059093872554173120747621525117838001854428727026143848\
07516988623509231285022350877407927526994479163766345080674625108974\
66136541982989588498885556218913512465902304156653376336871566688387\
25196703615290078006406860288806993193520799931068914077642435194841\
87300049655158322217109689974314593337849412952294403096555118558670\
28445035198762119848288829295380202219936661078120427828843001276230\
84195127530480727929994309810412798465311384896639154708016605115251\
66958395469518574113425090292056580370237182400377748326033545430935\
11500118479701534297400745136744846115854618011592988204941297108616\
07652237920500465921781737456551446824339700328284448747270917790591\
99199358992754255739644938275793654460000274764771917984145132545816\
50275367333019821278843172709465750692752171808594901217509501207417\
42161758694449716128270503357457974094796981833000612934129298748441\
76937469151562678196944190690705517408341270110116530574809547623023\
76223721506011117278656836781687467642565660245054195922383015063540\
98330297656458503223221234832849268443851768613581354377786472738699\
83632246938253631518018511067164531988414493543898121913341135214098\
43330236524538792076198600969222577026478681492227501540566298351707\
63956641633686286846795059729747683692320947290092229370228618694089\
03328786691516520700268614414270467932656558840829607140973202672680\
49408177667445088496534818017853672361822688485733913385400255456567\
93428263148487197711404787570805868543619247666329872476144815634284\
28304026025050215742042965641589303660783654814374429974635366750910\
00411699963360673064732160583745460680016965456758566096290515270920\
16458753596130018288665383078441220094219067705044429104724400338945\
61025418144257394290447043308800086961486538363549764848208643863335\
90772821957611006776947872616515008395331769033371947624815253698065\
06183650236805544314590931520344055614845688606507433166913189682475\
99582565088000180171489431143233861614004059174467600358592827038144\
28874771624962132036197765252454933467861555487197397619695431510692\
38334297420266754541495546693803016067316970672446262585513708516453\
91322577304348105969848017839230034831055415640301000157431836308827\
16196703166554265650963071038792205396803159204779044332369316517777\
85919065542162078821553497540489012160535448624430232549323497059269\
13837078285601349377225336743205365375169877349183777799512554222275\
97271611802930324522204021758057752412497127455218252920942278428479\
47169853969781345269676790717922850849183977515362822824305230699265\
95494401998927720610366164733558390500704983104734871820642675450015\
77079206261540203265717301064221019125068350266791249399179609291090\
36707635684925844071845295552207259748158406331181740311377161873180\
19589981286777295973783670940640620336755391664793978599787607238031\
75210934594321121324518477664328229171706732939059061137733423725445\
42533337642056850001193700991122080485436988881739995354037296008464\
00421510280301425311228319616195715245224222668092907516161979618835\
30242609434051902857830543763397061153243582494210503092681521241839\
98361238829236216855848108045372492600898452278677292373925746477183\
29092207102354063343183893093631731792390775297309213814088656998691\
99075222777463146266117543342519940204770331943339078678783474761260\
77261375061658325643039844529425003914609913939986065237800041974504\
20782411818751232638071836839396381509290322375645820402199257255440\
66194365465456072775046043019953993748322983683489516208150738424224\
19677881381119674809131734304557935671855032530773709511143394200932\
26364558981503238107164979185429453859587491416458261134038216016390\
49146905546228789873935871271101782517043060004493333790352302613291\
29724032856452977950015890199205765716898048927286307215846174996517\
48233899013735670497661974774566958118340094026521126535891155535929\
94292565814973047995369272297261017111119344511199618772851626644393\
75171281088704824407739875503227224169131064943751676425375923257270\
60227819348552211221744857708104613517607227866285161431584555506426\
11470543692693710220729528959120340445210529788692903692277110929238\
08319201305155269917739063897908527599113641594775880324806565870843\
33245333173759368236194229630197512711239589492667451542873275085141\
37369673627508864714146824134776235394625172665199539967765285667592\
32891051450978867257444586595186908132381256973600847975826933474902\
52900584331978769432840805807451936119894299904682805331781995500832\
30163227944716082271056280731820677005355961868362024509891022139820\
12562384178769058530992861226730359562582450843601854424142186404275\
02733847161676069812809312503296495994347520529714629733636722220359\
38392416581549006207453756828721700346944745735294757240987973604996\
89052864878308681232588884740583879610344237466965186206404443488725\
95512151073829606298505225783407133492553217748537890286010042459773\
35322044392190426364996651123770623213960923374849645936962093842457\
55876055219536823532970055284515106907720041318275586582731444496972\
49704107210260794304036682063681433825793985738567445554439072000166\
27368907470972273592217094439747656651587759921449935310041011278838\
42758858268405831270564978764811949268380636503731980043706030299251\
88232213725655746226970241209421342117438681447840372178259393345709\
66080175296107167014761063573878764298769872073630597860069568435695\
48970845547141729602544629755185156736448784932810336722270198988380\
24947861714363029549699182073484865132307126777887518699423157945719\
99554857157496720173838789205258104548081079810451185601751030835725\
08791847449933943208750399019307647075054794877597785535848540941301\
22041671610083449138989475679028786421688268111183768785285438467126\
53149082404118060490652755864988462101460370601811780023726130518568\
38480641448357882702611160505559159733274140102256819642182815723190\
96936240980890556091035486200263708816841702313384548750548854111265\
10070161725747437966591249357866528886086706489298876392642744160118\
97060695692866543544033241083718718477174168409611767599111026874022\
43390441071212862358257978726419338842528959201716942723748523309863\
81424704405554720432213808590250910052515845368806455661289841979888\
89849628493874708346285714739417476862465763814058920423369206987434\
02664358966206041972158594977757345193555964850933559862815525555538\
76637144264112107050854226245879960823641485704807633869148606767226\
02318326179695654033426200575833326104586850126669330828102368142772\
19188220569248120088212045348300446546020664466873148136571446045242\
71412597676737460939657352003890495077862128279292449414208247189079\
64832950133014250940772734759106668636933236480215626102414103235837\
45027837556343438617985002829518796606466606294814666681334050402205\
22200280171108546969716343594555462039079692851957417002424888105893\
06504827761307527754957531324563271514731466971541202404032982370819\
29592244238082466927574094373493155761198478404252107187989544251923\
88505562440936682434151237375513226295724498075849529979937732877694\
10514720887184811118981291648087747337178549616760276440887141124775\
42245033539468833191744067121444328377914207280085772006249130323818\
52272196096837422198435262420299836299729271608009378269710389890410\
17174767471511190437308856745743501459487909136870560068800710121582\
00265286631155276462461477281409854125484014568149348527087155387615\
94295805551267452651180429333684268516031849931062195799522678787157\
57760056334734234133183632298859189441299252593798717331813419399021\
06895180781635559072352388538153797736915462469959956083753299775130\
75931839086826932047597565683018282299362258470622934630351415117782\
50173239878329843715420457826093796632756966717286442053485570916321\
92518587953487983370066176913153533996994618603431904836372037565931\
86066419144028800227652609457125666376633516790109663620347636975698\
74014290573508013717679874576001531550702780843844242881831330486610\
17541515000827012560967639431761060185682103885075169851672453800747\
11202913270160244940132970964370790189988317746584257548400289775525\
88014067974553741202098239536771125826114407555169684920587341343988\
56606379003726293990726077561670128405053707884046366521180896111750\
70254411191967276530749834800340315078515624047044443843800548133076\
29275793132203124547727220827156913936615666036944531410675894852634\
32319729516162502481601302370195087492453307264071379799449325564074\
18997416340099124064330450253506970063255261524844335867914461321021\
40628802693706842935012653667193175786801686281259715671387687817261\
61686255242922609403475417007347385621420476473057230538814102292738\
25705072603260789109530288429356116848550927749075462006726604534197\
26632741965404061369210158109349829505630199729952701770416519571047\
65634191458226845338897016679365559564847627919144456561396764813523\
45551216386449858109988937265671471973844681311429975749166840093462\
72787958781845771242870425534455906159153237511397331428200845090040\
30928857583782927595333930502373201409537276133127023236367389512629\
74123205418288741397543451587603552646624247785552013314031192733246\
01091273048481641523819219534973546674977072806792850354965665165607\
32332196781072835955652119255365964762855683328715764550971901547397\
27932800047918608913057369146767557746792528779299399728183694415823\
49968733012708775873704747499498915650010753054816097612388331843779\
47728441113070750482134576295004438093602746911316201762413650423707\
10483640300663273050001492189318116979891143885697328268812532306505\
26636417897723756320935883655498947541134789689205167887930180725851\
53073229231972069275696544124738708606475970820462840969702112130868\
53213077079583376130225517380758198285144994545668777118410072441336\
84808828891271002648593509055837949504097963154076244269007431982507\
11322954767187247553653223070566548381020785227169924646921857409967\
89940963759426635815082609874311642814465663278310925100433649714232\
24339694377466744760073232327409299551479412709868149856431448349478\
57766991716058230874658197738058749035159318129821543022709514981942\
08323195734298452691177766317870774297896878337595050008916366692834\
53101501943807969721603758409498994333755356646457342555134385789102\
06192035872607573274365848984009937915100541476543566508589831295059\
94893865621299442621781153092790652176034693439864930622511013686730\
94386968292563644369255867954689886360366585563058317280549950334985\
06420145141211938628340305704512533804245339821669428823250816144824\
06954734609046200523990247481209299536211933236590300256653077831592\
97567345349654109062170185541366659758416702484498601097173690818147\
02457229754608726814225595939603159747235331976731488355142871908683\
62599834270400499224298567901025841345491864396262256475645201871059\
47318023458662083404458958616082019944246192391478585610541186840280\
67531131196148494014672817720048935870386686578464174137168630072126\
81900774342602539212792220982908691560673641270058922493307705207693\
95385241236685088235994831242088591741029053920210843136415802883147\
89525814660610578985642482867890063020896814709226907681114667429812\
73588223554788036400897829393832820314005422341091232015012900850944\
80371281317790459524411665644972418600646515484799894277526714631624\
76457618837428048898482467910479942177286230387763071851271190856035\
89168365310026686699717767682202672035099875544905437455762474952669\
26682618592549476010914018835085781466342372205427049950029978086531\
38808192402159321976868156136010585068152847241205078087616956274916\
47723994169983628082403721237061521250736485898629687166636110705477\
60352851617714477825689034364879404184122802636565811744007399008961\
90255387394891914485859868169901614674011636796757421432229653217084\
14428129093810694714794064755941973350198612586814344308856251415549\
28576260561919890197325209599956280898777367565410297368156187589231\
32684327642686301786214535526365209656671963167640340177220916664347\
89744950852473244657028634169270005001819431542040030172084599795191\
05179800037255778541576863180630433197972185752512432661403666733983\
06882824446582389412884786690023108761327295032612620543016806936118\
89765562642391666129911836236611052659658675015666836246339735878483\
58073612625172149256451001782433392425675975710442664470200452523039\
74277213247461676529106761292196357864786004270706782726256154280418\
49395626325111576358427602533598962529090699274873940416160695412097\
59926711312619586766084041645703641960143880176702637399356356737404\
13807166590799471097138804352833203103404188404000067489834251473228\
69892866456106784243368166276491001043027738157129824773590467857765\
44070606134113989269491828732939343550109527285434538542575986266420\
79013480956213438616241690322677330792712151063619800317398373974432\
52721253861444927543937398843985100588467186098922679135834654204236\
54057956772042433355357302613979386721371172673459499734671692106851\
18871134685771832062209849394429573197533197016497754061682088887352\
92783748091505628859253662062402814748990091517499775398994412131990\
71111670180627980176221380980974279023568528410879545366597019052383\
21170540426107673207255885405279962676503842897838052016796111907350\
44814267455083346488538176439282296344699381075190427267955101076921\
27818926620679585245994399754798195083152795864668577391506766541205\
86595359640941723584935229122650253500444445170739445820658404792338\
16563753250588358010388823033147262606260903572966866661513824618140\
38952293736320832248541040635706613823753816991184938113419303037894\
37819476341279040847453656186845281480048779115342806118525316521300\
02074329762748614955388918330020720697669159867040909571161103275938\
00871881433236343928794727800528306683107895015362259363607626406952\
27473733576700310795008908911804319920657819918919217423678253430558\
66099321871970209934401863036961327661239319991637468025733947258443\
01953710569960163686221086798211096361428752656613434559209220973461\
59615723299731844292150308293611792243000859642047343284646927106843\
04672186911785670568896173325697007134133808580335315007145509287686\
22464451011265602614217124634843969787497845046843151903500226239692\
42891677445976236210061210422622786014694169796370604899347489656880\
80386494347933043119779331388649543253873533920471939791980828036522\
41414454298939918422988873495494108038779137472926460224304627516245\
32980134639798143237632085688149085516703305831361023513957544283518\
41674160433800986699064733712674710338921125140638398786016364200272\
31202623197096287304551393170019681355560696173222888787250691160993\
71642306894797265186892732376274956265053711790300382964961572014681\
69424133928191808115243786209845843036387479229838995429956820298177\
52492865311907926295638349703896141719683264104731061639728658847105\
51822982841745468901882649913125514073892369874594077114337876160109\
60449520735466638516190877517628715763573713499273526194467203324805\
98821333773697438116202433245290925039628899412414831550924379118238\
04255901064473950530946790394742729367017680648470721071632926192763\
34960808681518904078807377598977202909225473012661178239349904871648\
39716616034939142200799855580723833516359574401272648600397275711573\
41019664607438215320228599183870773312531755720947674730349901470618\
35884693194220103610195359462069701879060370058816128132397917633322\
66183207642010566530042119634588263612231010704944809034948653140778\
08859528260801383315362958529049723151032194705626583910194630083010\
93325544676476745220513240843273988894397363754748826640317547540708\
42926919463023375605705402765598252611517500634527436972165932789299\
08942766236108142159727725805340390361155667459475858798697101784701\
41069683014158293470466674015404641151895596292241104271989383730209\
56735793976859963407651564702150345569436016831246471376449738690631\
41242823476731528383682765658893076655495380231825481898857407284438\
57260979036520440451722088724577389277741443766464029498915747411102\
61366332298425142193728788709541017269401376501660530241843116810615\
07910757386278069648877869061399610072505866565911335596437154422865\
92858586236142538017781731820527486015709802133501974028722035090693\
45145030649724524521552830490905646990292212177970107905542415639245\
86826292567449943460721476307038170552263833325077262593846158247078\
40577783629783466008871371167317746879749418084368553113139786077545\
99852910221114863424857677190839183975086452501705993487002611015113\
92938312842478852923584446802205584206530750157869224131268620033923\
43108515624920339701061554340826024789206010806116365712658771877097\
70388117090853118220547732480609750425702222417702947221128450326770\
01137023052527513410392898090140309661352503583977529708705220902874\
77767349465854312033304994361963835823181413600126244550799595224717\
13881726969035408833187814526081253496253639457854242792734932560522\
14446122199701606028134808686070141955442691701420797019844683194095\
73188521205369735140508849965452010589074620574734722211621181056839\
96827168138608615814334105622747443576175511455313472091299635074299\
19874552757168061873351928828063874777550955651182994649704629134032\
62924040062737335315869032230805280720986765101692725258804052810013\
34419365982028408334972600066897477576997741642856933090373083180842\
47203155299439481185914155857036679484399603824653393211076856863420\
63187160959886399917413955596599866887830868180570306328331158195513\
70152149594403028249567045016658552866463201843534308987189576768743\
51580190629395089629767870267444534424473481786034553055712565582243\
53437999976346113240615045577906938914648762713106879932434523718967\
64965600693342741178459662166085821741340578959580480395110573996151\
57507630226645593888077574339773835073622781209329633060103692719228\
99485352297012779458770876329621720815200962887581209479769466748019\
56437086548348504860649074517304906733038857347255203655926948489280\
55367441360412869990995730938917993353055664457995721902052682078500\
77513887970443364276364878847242295710383378583695690058361306317352\
50557478014638707989459319568974635343157259316349191340657752444232\
66569601907722169784496264401888979074505257735175666860531188833455\
09958845235103412740510255697130927637557179261574308099488342096889\
81980515997499918459175132085667129221110469141798183071225496839208\
36886226716873608620709403142897797844930361413393379535143877438202\
78023538501439496490869951649542866302662163034540369528194003975413\
13316131152851428923164405842000545678071255169138111580688763314281\
37089139623046446145383692237604889899724749731038251459117671971749\
98045774138152640628162876546283132457442355920692365451628058497510\
18888789252626400381497173160210505523481871910783888635695968206064\
99648279510191327663919958438813702439495026883943601215746623873628\
29285756072646693984051210611564015138843502208887665563925574988404\
54763432305141471455086044480399936234684250485237334865758086828070\
71343068948086985824498479687890947838223634541780767558286564501400\
31164739541422476900917580263194621455479525273900249469658344098031\
77668672259682892199830034907735002964068882629975042387879897869956\
42789856865637944776902702527306810155120584341015063471670027910805\
08452943138765337884548339641218995418432300733512057744986193371001\
03679258708663134389644231342749636153095608371724233998777476343454\
27323279414118090336392355121622681639751929034250635727030444834668\
85753452289537074669342943483597534944642923906486759987728914245046\
59966860199016796056796726448647420078309040567284487187894335704165\
28898019565924604193712919570709804820038882401955917421704227140362\
42962873126519723755554309125264913966520882045061820440268836684965\
61406308437231182333796945983147337358124160355181071131766873719067\
68401384661605331412822052429820521102792655852061350420537111497292\
32949444723481363085144504398104764554621621739793470969279842693820\
80100444017810956644851905563175879000657989727506750471139825305804\
57056152249970914527921327414565998647145167253562123531462452361509\
20395600581197052850851140146897869419045725738539179267342100080380\
43827468758450007371547012511375115837164642155967290369083772211412\
85165338709033238282069989644942684382977624251756941252384977783429\
28918184808119616601180421380762321784155942033530734811733183766471\
22383833594186404080397794691798611171944949813460928237901870089807\
73933803947872402481578357606804224051704001752129828741512048482637\
14962414356213569439528766098980209839277444432989805915729320652333\
79279546777268274166218703109762082328657761871395700879509927340100\
49181476868809159357529029357265719798995934978128191650336553261559\
37223654243918866996475437642968250228882881095390600833566137419536\
09240397774942084448228858860866632035446695470963974645639668635471\
94372471395476121854474478444292580326499055803547837650027713789222\
69193319466736886245329527583373947527028207306481338810365981263064\
38712155257391704988954437310842582799687988031925190223979922248575\
82223522666868294956601232512498195552802149544461591474889663640046\
72827794283179805076555739573747443491012549330630801413043430631559\
35209621633047808112528058486803101854088082918900303242743263450237\
93403349983887684295422175464499323249474549431740213678761084536335\
17130620350922827476559540171044171720757264143314937479682337365620\
78711831312045753172059848381288424014096813844939267151276566812315\
47860315822838553213632892270431725997225106806794912103110599309190\
51447262797704359165321083202571994672134239951525034253827512974402\
06100065560782466126373839480508566198430760188701747133218985641831\
87175562944200873013679029185189862192895652741151363250197197182553\
71571071730106352484556250145755254593180069407636939013945170287884\
16009995686565279463320208275988988005387855412867469339357451754940\
92915259006677173051953486084581620083459387655626546584354822410432\
29885013239260260934497153691572263850852945473511254106857488983998\
21081010368957562565895710807314390893153363818355314290082245014354\
13188877072747697423241096148947952302537660241136170966675176014448\
32948779718056737432810005111634934571785051288650660775799158420126\
18493607158399637943350768222377075550972989730429256394093070108119\
26100053594164099632584523346629538978055523042696190366463744620348\
66682834054071716186060657873239709629829260769184560702331154988025\
34582446237007791472894684812579385410618384702103928360368334118208\
59944630283206716699315828674056743252839270740532930786673583004271\
51029814076856662722086044390555574402052799849351596380851480804974\
56409285028844183670111738126257871164838025034753106635410566104065\
06690453253839331047970959944099941434193244198516512219159518210762\
29828827871532847247739797544425101756010239926904530509399329591693\
30745899608804485960649924722013368024652125013994189179530170041285\
38707056551068306839631830804452892359506201086871744522519847587490\
95621431915311490758604683887872877862192572933211224093729144879090\
55433049678478029128941203089677722550499159963009627049236012420101\
14655226158557141014083652650757892863977582777783264120130477383037\
48921460961822272763074013386950299347449978183468131962125441101344\
77321662153396112780763071420754009294065031408848160828179417916109\
96542438373221948096240571230200967507072861936374381211768749734266\
31490000311706745919757027290302807127924246865803715768336845894042\
82508687575729101849283233409673905680089581634049081805712126966935\
02864011568149783729600230928614072447811827041288991763554878322661\
17903864521594748102586124066260958308830911962711019622322227989641\
32706848858116460727587098173959617991018742864429727667672593652423\
36461451878049065895700925198201676440998567772659781717226660350166\
98052384441532160026944709203621795654645711408036798593921214002357\
25474112676461622616523136637985723725438891603474990186588826831319\
41402305726408443984504733444591625141657893084584971227981916806683\
64883436901899801790897109375190999826287342954826172107099867023687\
24304448874118299402244919704384125452069732015478226519519560005998\
05325166174496899391496744100596521882968804396439237178755556094618\
76292722949906688754376617430473173604167070113032334775498690950941\
83737789195951761258447046763059907201648442843370205426048100007257\
49576411001808320103820060809998849368976152546192174285314229481287\
64481099975168161859113291991236546485166360054028938088045666105959\
37609323808925087572434531494612633861316086313973520496251113741308\
28026584535457731045656979677568355633308911309637950586714849261526\
00333911588494035825279706025045181472418551652110888328278068257412\
75137041045940170630715600869555018379709545793726346333617900764453\
47086869790986998673425972940180919150814712792305218619414522045333\
99720666276267188728765411484206785652960571204994041653540903245195\
47034517513530230335436289039391979299958642399452479617795059732850\
98166364694917563398162521655827403718562500089973434654054368715114\
33960572629273457690574568529069763064489644388067873182213790917310\
52489677894735509766420213314001774648910530481475118400232647759229\
28827118647005132973428181895900502223808418212624142957030518523647\
41779338277816768964001342477353439497885689844286183833123526858476\
63038796605466272643867448245982898698874355181421425994412910395190\
18371678223876844981539712595722446225830226030573343317933322177018\
24150371021487866490787799543644930408566024722240534433202334153508\
67541681475499023563302848072012346112688491566035630199984676999793\
88971600984881835424469336822519214761372499788531661555275257629283\
46775039785203586370589677615353714555056807831359889509804635947203\
59143931925372179364493886305340741360248581639532967542235036899752\
34840601408356857146773051323304139186132584682266785347873958660895\
55560721512026067089391522824887064553103293686252787722045329571012\
88073342578915271499351506547589686859001149161304787047580196917229\
57425955466475037080625996746493655949480003810425828138596756576622\
62207110369363557450947375778685081334440678228499217056769817931865\
09014159613905112084556402094275718420921688466890782181692732968115\
72237374821439903621627747147180590288262337398978591791848478703804\
77043476556772662681335514313701393835302534231766199506413145893538\
08105792146440795375215215246618878524917206567822823138579736600684\
46719985441921856551143631132796992796877348182672882684502952940869\
36892418302522104097805869622109336407272103269470569254106856491672\
24487754109324068610855231069599423578636072849235711734483859722901\
49474637738369912879725730777392891851787501720232000127292914832279\
18819139344879219234644698858300272325009787543453632979932010395151\
24599904598854228496277609093273327669550141493183567746226776249625\
76515197943123447230172014931343724441473734834488384270538246677864\
32896684419965817859659278225629224104711729610171247470013884360372\
37825086680938677375893129094419553325029480038836640448133499497266\
05440684870528629710383181259529522212666562308885035495109328225501\
04978623992848912737228900638213766482475313816628335230558078256577\
58387281620757720641195857670397567036723928214582965207522394102841\
79969542285546621163614165459813965449230928339953489375682318479524\
56868264208542780958636296562296512681059045940793420743819684995664\
42643344436437246807705699378282647793796269807531447656063978119977\
49990934800580711013679835239401806521023984665596761292223966207179\
71348046230669383045058321418315048804101873936917453925354751238683\
21161427887935957770793293154784139791501189680227119554036940594780\
33025550974899941494365195858663600290695968270165408018583154739477\
35801163592524960057047153151462334744162860603553945295352641899348\
40802384746385695241299695752000143640916278258272356778974726404687\
93453847893069235359109517053527340823096567036681388105551201281098\
46526329155976395502843888943999359511911944511000044816575267463865\
32844691122155894973439858957435823255040207658320788946006743031313\
03189146802131849371753040352864425215520224422142802567287597316861\
16539509093115407025057793925860380810159744331521694801208444812893\
65429549390697054613975657554393782610199031346845163631466489611212\
89532161976073407631885242695362415736617887955331227707549927612558\
86493738158709873207280895308714156655807492059457201549011952837895\
39159702050211687380873327383788782035954831132706239390068553114410\
88997090542706988706709557186826638462726294976177948556164482932142\
74230393511194061102021530776483100665521107923871595711497155328703\
31114032637379120461484275816561480677095761035073136585830592049984\
98438389403109308258187344808817804517137334713515184742264824931777\
52132463998210403663643700718188771186092584850735679067209634328163\
71479593315855557669602884113772313741540437851601076926720863559205\
89094744208426421658198771710719369173786411958822692690896134034943\
60361766808846507028552437675211626145758495622465044704055848259065\
65286747477974035939993877181421047244293548276610469015976634127496\
96310016794096742939798405768690654464437398585109674124943682056647\
67943232926058921605329598630206382788803827478822769780948691094780\
12251882926797852220136666214721245186611390786221629052961228072466\
98823407922507202293633479415583188683922065383844340948662705862061\
82180257100201951885939289746163839296773495154341055793695526607996\
21869274271375266772810965624165502833610842946942608101018505039557\
90355234584906470982710375220670600991394595416550677411110003923714\
30816201202837708223967561589025598776314795730561946268899364992104\
19779080132558976467989870896563802854644214887631911666906736043434\
12988439471594168420702175447052974112811431789491724969787000053652\
78068339621848521422115715445850152130603441539828658565312739732965\
81292644045062785702626103178172934170432081074120349865970281970787\
02085046226619466544881500880727227980667350178365495152462087110427\
61409512712803622431050029574862282207128429507638849308547357626704\
90589781534231904228321428903462157040759259949716430629207551159362\
89685020529193439515255658100106488375048353052227436626246678323923\
22060810691962454588096312499799138396373520741507795953319083662971\
02664021805107028255343401489567549921512793416291274597218485820364\
28442270505933610791139527689496065369967855964608783370674712227596\
43974653246991920865792626204849669242113660638209542916439857862004\
10677447865705388112763720654379562245662593713563751760684274890178\
48314522975942815618164729077239160639582002165931593175648418185788\
10377221322420792956117314303997105587830693313155685347118123828821\
89130859358289898565962227326732802030535850087332831052099644656230\
57591339270290554180953198556180437927585091768841272087633299660732\
21668272512192379412414888923758174420357559195566886953341782605751\
90078271632038804324163313780990212725705520713673059456096919970176\
79269493792723815538590320771059351242586032916114914685635955801078\
49013467483251070405535908000413587348834917975008983379006423032736\
72543530813323267070100455515260086906663244431740947301865937016955\
43624995263282333115863396123052475952826079221659903260555042109328\
83228237210279569037090398728709708792380649679178790103987588507883\
05453397063133140573311633521802437645614686204057204276914953163512\
48509287618710563756142505904965399746867104142458713981783264899644\
16768377405265389606730066416269561718459262035698253866258358269727\
18086271956253763153597040563483528811140054068586594074434829879717\
97006422723903057656287090854853319959988814398375960507677535772549\
22530702245329018858598274235970621140901606963317621959685348480871\
73413781596313098361354559595561130397681971148472958806082597848691\
96357722570324727938902579113995049346063787422586563473063892775755\
47308978219623614066328716167064997437355782313470274208225811493883\
33645650370913038525835685233374923561222044856291642110046348260160\
85174670747228424578934717746848948454883093992603400769467336774343\
07644637972585935651136371967565545056795319009107480009314821805482\
83553990811637803737885195833335886153171261056634419747723246457381\
46016215083649411050929209623368190581746124534236885489367148408629\
28418574768255765006860796506931527704492197901211182575740867337966\
67105925741244526295567713359990807607019094867540636177421331953424\
71210194459244224694513704476834403665406651912242447753919000722909\
05076828765240529751662460880817381001480221427681492457887573771785\
90912149558792930582035517900802233747686880015186289935983011395753\
69250421153886538675199754321099261470983640839777263442183407244631\
29037720361020180656730648147127781827441094272939615922384958082811\
30931774340050534206563757189959690989391214418902063271421009758890\
17821400311924154667992139694899490234562974284923522157601159586764\
02534840933879832300594090906728425720095503729219280120813485188045\
55095509757483519630066891394868539405024315537344605041549685161981\
46943555243543939634158989557481969185751246396866062610843239525439\
52954376633408280328887771703528092086423626596989563534927567913002\
28427177324120772909815196713691751698030713987327651956200445027766\
82868675567840814201575463645971310754811981259572321549730228079192\
58807742890502586456890157155005911381208889802670980904973138220778\
57332102377641293451523696990333434000454323761582474013845297776730\
51488116547651580567407646457375060284978310099332615539098867422014\
40804409700727728098119363658170387329946625135359001059731116600566\
53416091657541702827023680457567233075522681348668633032477819880748\
59981879224007943888492548418911295167496324954421049592099182927690\
43226185019275754338770030345725130209264975029693050099855591403833\
75607317889350617028570015412353975127270797149673815275773207357194\
33758439055915128037412163840060066573416047962070674842699208348293\
10031543440955770431798603763911808459968851865750867549700107681983\
61190012900723699309045362574224146143953983547696105894198477263999\
54569329549613100548886300496057232007357440782047222342212315445322\
57474116257191040537530672362313491705629432886056717863878656
Michael S. Kaplan on 10 Jan 2008 8:47 PM:
Hello everyone -- we are looking for an ALGORITHM. If the person who made that work in a programming language was submitting their algorithm, they'd get the job.
But people who can't show the work that they came up with? We have a job for them, cleaning the foyer to the ladies room. :-)
Zooba on 10 Jan 2008 9:49 PM:
Getting my first half of the answer in, still working on the digit grouping.
This is a nasty piece of work, long multiplication based on strings, and could easily be optimised/neatened/improved but I was lazy - this way saves converting it to a string later. The answer matches John's:
const int BUFFER_SIZE = 38000;
_TCHAR* result = new _TCHAR[BUFFER_SIZE];
_TCHAR* const last = &result[BUFFER_SIZE-2];
last[1] = 0;
_TCHAR* c = 0;
for(c = result; c < last; ++c) {
*c = 0;
}
last[0] = 1;
for(int i = 46656; i > 0; --i) {
int carry = 0;
int temp = 0;
for(c = last; c >= result; --c) {
temp = (*c) * 6 + carry;
, carry = temp / 10;
*c = temp % 10;
}
}
for(c = result; c <= last; ++c) {
(*c) = (*c) + '0';
}
Zooba on 10 Jan 2008 10:03 PM:
Silly me. GetNumberFormat() works fine for digit grouping.
I'm resisting the urge to post the full output, since there is little point. Who _really_ cares about 6^(6^6) anyway? :-P
Michael S. Kaplan on 10 Jan 2008 10:29 PM:
Well, technically I cared.... :-)
But note that wanting to use GetNumberFormat for the call here doesn't say what you are going to do ablout the multiple large allocations that this code plus that would require, or the amount of stack space you are using (the kinds of things I ask aboit if you wrote this on my white board).
Lars Viklund on 11 Jan 2008 12:33 AM:
The following solution is in Haskell, supports arbitrary group sizes and delimiters. The algorithm is basically "calculate the number using the Integer type (which is a bignum), split it into a list of Ints, intersperse with the specified delimiter and print it all.
As for possible performance bottlenecks, I'd nominate the recursive functions use of list concatenation (++), but otherwise it shouldn't bloat too much with intermediaries.
module Main where
import Data.List (intercalate)
import Text.Printf
main = putStrLn $ commaFormat (6^6^6 :: Integer) 3 ","
commaFormat x groupSize delimiter =
let (t:ts) = f (10^groupSize) x
fstr = "%0" ++ (show groupSize) ++ "d"
in intercalate delimiter $ show t : map (\y -> printf fstr y) ts
f den x | x < den = [x]
| otherwise = let (q,r) = quotRem x den
in (f den q) ++ (f den r)
Lars Viklund on 11 Jan 2008 2:03 AM:
In the real world though, I would use the best of two worlds and calculate the number in Haskell and make an foreign call to GetNumberFormat instead.
After testing that, it's much faster, slimmer and neater and it puts the burden of formatting the number on something that knows more about the user preferences, namely the OS.
Michael S. Kaplan on 11 Jan 2008 2:19 AM:
First time I've seen a problem solved in Haskell in a while. Cool! :-)
Does that count as calculating in Haskell, though? It looks like it is doing the work since it has a big number type....