整数幂的求解

求整数的幂:

 

Private Sub Command1_Click()
power 64, 10000' 64^10000
End Sub

Sub power(ByVal x As Long, ByVal n As Integer, Optional ByRef result As String)
Dim a() As Long, s() As String, i As Long, temp As Long
ReDim a(1 To 1)
a(1) = 1
k = 0
stimer = Timer
Do While k < n
k = k + 1
temp = UBound(a)
For i = 1 To temp
a(i) = a(i) * x
Next

ReDim Preserve a(1 To temp + Len(CStr(x)))

For i = 1 To UBound(a) - 1

temp = a(i) \ 10
a(i) = a(i) Mod 10
a(i + 1) = a(i + 1) + temp
Next

temp = UBound(a)
If a(temp) = 0 Then ReDim Preserve a(1 To temp - 1)
Loop

temp = UBound(a)
ReDim s(1 To temp)
For i = 1 To temp
s(i) = a(temp + 1 - i)
Next

result = Join(s, "")
Debug.Print result
Debug.Print x & "^" & n & " : 用时 "; Timer - stimer & " 秒, 结果 " & temp & " 位"

Erase a()
Erase s()
End Sub

630579487001782335726002615792364094952165878414343610620052345960454000623869717150110134871530406526506596116621245692979780766018454723814941962225280444496680617986892514285389144879868315356003294016268897967389615776485793286944718984742918155008669160686304394046689980772947571955818313574524053261334280151435474048213519731874464008804365682389586791274105235358818815781558634177999971887863992158897446085044123998978046463312787515180116167648729645857420185283426852765196485647629155480382695950964878246182512241779417530644366508296359890621342374743216814827298677837537127191389325078789702161244755212399071022208336288737320260669289128618363837680219125084636139500779965085831721640867438122082462575279544168944143807852182258001494675170105254593973657504895409323103589111263340101457860479633052538616499311242755803364866160690679932450546437333357801314944297615473518989151906689225640218032168511843254194475054735008588057580564616708627171314609458370995184597065870225908848090609713158371
205008197360061232451962937688497529185472891365374205366335638167903354851268543866741594606404778534413170189227201660243619326967118038553371962949277208611272730183912256392169184870667944551006135610198093987592067804976863451816862307886633527590311207052252043768778150433169161733611555938489871782963975066190929234551131559841571219089936524902467554784865684002055438864764444866339943612895772503011311879159691376482427895403915622449283749625756784860338788476681740004728579641442965642959564639766764223515787186952827717731160511307110493718870865880919337618540298533991930633466084027065359489961390152286370116858912107273055560580787851459733197677294187776832842097078060202022027347770889453004485643650680648932007300960564393886467917909904960608783438777615763283775134863267945078612456538772448826813203861043025279711593925705041327141571011507971121651524792216109781980914617019822750999131251863238026170615386840438148569702786906933865851274638343385712046219029162571509363027869055435730
429085517055505659390078597470099763987912665827381967222100517688361911856562045550699068370204358486041799652466496393629809823547446470487340163837893911386650403512201648508514369963595551391277057079056399608836947379823991414202398077695031343888053980166397119815825596216497179187835606569972936688490082772885423435897296247583846518281709817002372094259257011911186860161020695498338152117586282747593184230597682546827932485961426050591031324727399771913073074886381694159602268208287932011921621806836029797523144542603011403542435848724279434874580651513120987385224015560826922143758960084850481616008702812955429370561216593625952988573764377424493879680124881777948955602646146818522247226121416516490230029247021413959149857206863559755840857958622848452696631033480008424661993996267616639944950038417398789125641585062459314158580332645047644732026367338770546419253569114214636696123272197993104943714146812596980001652585063539583682492579141200588415959421399867466637018438917328027676700294241110305
151723647617990933786645898674468083434777517538496306710859051733209813213028856802422861690316062746995446485696302069469102883800161777088691341298861077626783672091828398295559253571213477129229519112459588318460125742636537896065007986359908708043613870250710461752092697496012501214715303983812617322977279082628406313970972026421028742896365316672789683557386787541935952322909104902657948824373092671369190596276568559714506439553558870368349189639960575352312185206024068012116556823403715521110293851453030761251269612239542697576948600722974630905181935662967296748946375309390327981922468835534506155439412287993812194642080538270331586431027508968936273382304667107559610116800783353297931686306926688557845509224379372758090161374585537360616048898145898086624676286838871341987114020269752164314966080289772691338930959173350526444933687408915809819076458318618144960257444943352912923657419250589949298923948662284031593328768670297110994123521818295788090336779026174423964580157532010392822061149863125274
630133015533889706124023013996010456366192093519750674109298100275475717183690454030432924308866307440272102147718104615756175531619541310779429897705931727761410451678882006430483494672012767974785668444542282981123314259846725419578918653157766516858932323110520065243805287386905608166195018399867682279712138227160620356603761134496850448285140844452561936951805882595898073886907315789764933707728455616307676904720095587427224784812062650970377249432630525016705258120628250217436021187489993771134674133587949019158486174242606417937290674081460268100679298333768210979917571885302040378610902256873239937130404270595925124375823357810153159408478537335831341478442870186432803349639861388449318510200313499357612674000037796121938211419195723288126737034689919190351500420563110922363357573211948803940256193254460163248308286220378865949891096051994641683446557414040358241125862895197578815427759012641968034880686364538012108939741312213657731904783298020037799920934153229646833039127632193958281768262342710660
871602932547419403088402321540241583170278886184626070385052224979879262186162358263947909124114290197709599726852832725995466494160604106436582366566904439762465856348105251104050093279393078013153822040212596121803757760497772669580215032565928452022331427189260226586093546453288160548890641755621653438942291781825503787189166824243676578069995782956846998686060488007980554546170038823874127553467647548302723050782363766762032236778784257399991703944116736368173345116929167180676481471773348291917212089164774707387311725844916902299755695125099428059858594051800814310673354363366316709468933798381887607569141546973448618372392671811214370623246434951789032936724384894268660176354273591630020953289566531115397499547872856540266191157660292088141878710614578464202836816749713827342964539446704803873285733467404098928172336857381854914120187967817372967901179873516181689866648228667170224332561639907645085632582519227025084722986335847883214203438568207978166169465501325326878424039713312367538706374472047845
472430887738312395355400812552635765143630606977816651569357223743401755874646565416623811154392630170312867469354157136413769724033860178864055722317665687705606361518843488040611715157698765204983260250764456686693488067867005768257449635372857733375640440290326126574758717858490142437504594685502934697967146680682587502242699417734437169859624658880280071887486409948855690791405272082626711766271622608601318473619376984899660294820249809378487699629060090928220205320899981655655784672290186031557581391880605533391698406392316964203906095278612102651053960732255258422024024185253116861009318619986417715998700938107681341217510871298115347174451682194604063533766194667487482901154082280766124105470330720257706715274802429560586545249237437894834122470374364147798335531384105385407438148994637595273673450434109249267957195631702857346172934678652796652178028744711643074351402400159222250476019652741845023492846717125054254855598323454706668960452386600719532351952080544138411051296522662374069936048712374433
420835997908587860746789587007721638923266420023532738653004790613374218051868387649868624680314685355046284666706626451107501509865961907774724573404660643282580392120854328896284437364803383500381780384326401684399270853004615901026387829312763918508161690138341464781405382212926984806956215633162941809707562179914542637621567430834127668392813833472326165339364306910393050631110475379784305451175189790495882277668507379733560196985408496825573187305448227898407261114526108092417007434600672276314242331386483605949428216276214189876059690119999912026809090194525474923852498579411295920641479704962614160125204464831111292900498627108533063972533045846313219392727758600407092875175330994627145939213504762720732419825686461915242370325631715596363644812292819252248939158924635938783876136768037333241242424481506819931765963589386457464095727923730252392832992992567369320487108069216381122309448621452820442121018897306633897003836730394253103873031796986875895951955873759996672063330533986194951375057998978955
324625365617326641032687948816138550479601753277238831031295794147458635102951167177739643891210004022918720331842369962208724242003878942888850026548468563254347716539511276275435989903317355519036181128369022906486644774517276801367347220407554760615172010640521462154470723107867818892825923341336705300648103008090361338399379677238689449822151575032418130936232803116208784196077123315761959891696154040910833468732819868690739959091030088462051541504700826358754612853075936239089227283699895865158909373051124541583391726616071580639898530679216412591281189301512788965285905306530006134597883835017577556787925546155805999183800973252528563573362333293434260393802449873819998274661358771500616974046451662971955239511627763298274915952896025304845806028608942698148803384543300592173319797689330587192087331318665436043710967057082805137376720607623689562943194202572220799870101044323918047479447145513978799987094195716937266480108216239990203479573438794667894064713269120682279665962954959146632506126653392154
663022254323814087422074097132191806841351562469479291454148165818724632548970116770040324531394702976440042909248391105722094085420635109252173364827127165051320853678760929565554889017398645698625518308266557353394403218759093301106179989924158589548398089890268920879389884852865476850596231326938933993524241598059644505546970850424418206193822748103379339110786666598268082127506263234059555455898499312101197112345680144166548511713215691504007943008700328948723387290309883522295943535471037984170303792571187507199528678938511880471519526402840540970179411667196479746954124703728282768298893914618055306988327387548208416935134116634044616590410989433266915984380062421477661343606414404292027572910555707612315784891647460870866143777183504697685449133819566061037648918793853436901819371882650941171578263956912041561877567587431575383767326613656083483547141180651045542631579494877294599886114494538665923292126858741101170448705965813106999658072974221314505616585803515045281873379660911945280247040566960802
100059398691327267983981901498610023045954119483591817187080334462723664088275042901336894369370673512226271917400439203737122589852952281137938175409292611349280417471189814619255211265598403300870822757516856571137778292727408458740516944020607061174417121415224232915949320971152205170076130565784339154973461189835635930539060849918378132423150161783041209438816982868060282043617411234340033560890429812839106110811840158483853683825589402934119069851046872563072806594081508675721167661862890212981883058944831431412753423479986722218258128486523964910169740798329193074444468141632215204938656833610185191953134435312289608841971541986041904332714121602226772176845704556064837154110461832528394683595479695413941177595621440967869145963469888790703849576182611651550625166683380215877618351101059777694994775864762282608834439827348781224414871382833659600575689504954896631592239034796969030919026696623892074233303787930565599504830246142494079272911908260897910042071288360402110129205542229796295773304425834006
442545878012860051576044563717736848074351570928094406560854303922801777717768270941200298763906947474770946387059403161094157521067763105151464857183183875411402332229670336428819861687565862245918449499465273268765046706301865194561046303936348654702457692466301406539745753985101739475565595660541949953499031316752120740654828013671914168357964003804197354834771511474310901882536991745220595257678652179747527773142283812346165453121130695521159405990289973223133589327792381011509333017153417259499167263537169066584343456231399754716518054126027966470087295667227876435755315075485160141818904038656325822240822122881075179210770677546137270014126332198364035694822360197432057637423693089745285263678544036776403967318662883601728791294675888622242181795209576462079792442378721420388476612436599998239688603797927776678958844534138002325632958793663827432735003553427512502800758664498485128376202666100834868465858746751705698444842029975423049409441066302639052566322997345628325562469512265482742995841834702264
971555721192676111296240220295124943281535503128250068860468079572887834628557455489687631943871036432043158895225842545050417585420358642057815372718629086369463790740054501667722942445880580760349224422651477146374953100839992609710152218338325696765133393456955159444062346142436352883506726119848949293923115596702611760419696969768861104766369772614070405729920513058837921404645695249614463732065885846765492021516495752418862070434016718113282174238059162285414925665562314255398678342715718611090189596471400711607963102896511919825538413492134821696876201742196259178189049406999553104401447367467302726135548349947653493049571515349762921187612961425096267696688256388762251024243299290206062095848489206635144344524046822986698315785263524963547539186364615898068532297231654384973744225582729425601478516902094565988958122916740048067412236372405956032787834843871858975205418671989312363618703457213298273397359022340453777248708348786856285646413705462604923764254767286865323688534867918403396230112168098551
384902279565425218539854630482549614780719284726508183708452745244587648210189748716082531394636387171069803552948683696550803934574244536728738666913669349383139562860652230990632462319647296840018635267818400057066135947790990600138695327107628667156092413397060812043618870124861898677328392515120674529907139334542495550569456374623748270481200709248332119398335533205725933417567154151283578195175317342708954312975609697802298266235800263974331246523014121577203640838209640437230973985545015705087662106741066033911985694051442376704448387505121973673197362648804716047670106306970473863038916908462190121942657359221630132007015673766260526494292264219227672558936639797856663886446120795412324246438773917729669246750030477653099347400945638068260235251311872356591444204881881115762166965963807355518564530487930341169264790796940295472429002727457107345009688185648765939754145676624262439706020347438161599530572843164464694544487213586913281827838221883920976475692181587699796120823643349511943921991735893436
289538231090551764040157374197898585228658997899599708554798331274879452239997470482506737093565536808451441089317179671253460606336812548468347436643855970645086517272384607312740923968246168323230031678142059077177885408356169321092755930010490310595096098649494693039660391589835418453289223901402335180630826426284806151184122411807124113226460667824797153184128363170626037359179207509171197170626646755387392846717920798292929339522461597767146551238083197989875132652339448226331739415955302313928663269616148460647538170821319550732805958332605625044272683657453935041052922496200912273724251745062681741331395848479483812369560144239182514781965069627543687443893310226157766966295511758082037542908137538430404421929423777115386800182139526235493338848728456451721008448154771075467684589438578266013975738170628176173191714627030267705590019288188652004189880475040711649822289514578743682208482359117126796629201374216396764640903692042485978918640247381626583491374970579019421534040045489252226472070885026912
079608174623419803612899338901366508307664228278234584368314601296733077568872502155765936311114445679371214386109638715199571529146315498600599095131989838025891355417938687945646547947868074459498143254163274070925971135855297106404006066971924188023815547541694030825161808693151619996031098114395351057004200250827049901391496203554443955322537556319015527520223864855739341835700886446922366730227821644032870772319902676200032599939731141358801022074808273409150636006780570621930604753012971259074968803798289598773050751527067282151045508793033991235600463039167421688300463634653746711896082141616542655600751596872057878460377857231758927834242811761038460260469158378554042737541437145297496958183930346356601462203389547693285356593669396510669383209291368010740746290728723053044729768313362641978029371724053967742404337276273212978054993746658582807860370862790717985168038277018360484444905577720249683253452044845224189844798235710028602880963715022964621094532134090166853738338916114397039492256931946145
873457749098246226732298625662325620901620103094393135242288672300673009113677952515503085199034935690411719671213427656333420632693112169207494247859468351481329101510416715402771381413434388254879328157179065580910731408562197454024472402095764774552377890636498910720490848729660887673497977741877769646429200589489995957740406014755598896544369168664742241062338403011508204511697153352568311992623563975919217410027455668488339181363596809156029740872521041258587848410665254187769218323141035191796856214354509510193738851057528526652465166391180572259282724227465132232813031051946155223620548259880525301976880239380974911632700830037860891372825951082844629938438158779339836848475226755162269346663171436305562274949833079316652490111640500215493830517366543079752363554826880268334165079586133268931936765557860013764932262081635045435323995349813876114659930343831236856926998260130277995689323886304051569622856483868032810597212190485335163624844647060248311097117766950234207303724806737628260964453823674906
48935954117280316910534364339230122463781206660914077269992857943966052910544154037528106943705870763529320288142402985241353835535660119950734678788857512059710498985633926210799445252936978395699323847487440444769956663529500663691905023163313503112674942896975496921653790828038994010911267494935775399318373165449958838593536573238988848483160065093351183848386331710642002149010402523821288608365379736164261214492412212418637073033220155495785773951573904099524952237454237798690402618140683024868943882814223997700464787387065436205156732478671066470037605658238726395748056590920281735129766208311895119931746663482163822629919193094690423555612958910746644709376
64^10000 : 用时 50.40625 秒, 结果 18062 位

你可能感兴趣的:(整数幂的求解)