ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:30.66KB ,
资源ID:5445635      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5445635.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(大数阶乘的计算.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

大数阶乘的计算.docx

1、大数阶乘的计算大数阶乘的计算(一) 来源:互联网 作者: 发布:我要购物网收集整理 发布时间:2006-8-31 人气:115 整数n的阶乘指 1*2*3*.*(n-1)*n 的值,在n=171时,计算机一般会出错(“溢出”),本文采用字符串模拟数字乘法运算,使计算10000!成为可能:Function multi(ByVal X As String, ByVal Y As String) As String multi of two huge hexnum(两个大数之积)Dim result As VariantDim xl As Long, yl As Long, temp As Long

2、, i As Longxl = Len(Trim(X)yl = Len(Trim(Y)ReDim result(1 To xl + yl)For i = 1 To xlFor temp = 1 To ylresult(i + temp) = result(i + temp) + Val(Mid(X, i, 1) * Val(Mid(Y, temp, 1)NextNextFor i = xl + yl To 2 Step -1temp = result(i) 10result(i) = result(i) Mod 10result(i - 1) = result(i - 1) + tempNex

3、tIf result(1) = 0 Then result(1) = multi = Join(result, )Erase resultEnd FunctionPrivate Sub Command1_Click() 节约时间,算到1000!For i = 1 To 9calcfactorial i * 100NextEnd SubSub calcfactorial(ByVal n As Integer)Dim a() As String, i As Long, stimer As DoubleReDim a(1 To n)a(1) = 1stimer = TimerFor i = 2 To

4、 na(i) = multi(a(i - 1), i)NextDebug.Print n & ! : 用时 ; Timer - stimer & 秒, 结果 & Len(a(n) & 位Debug.Print a(n)End Sub100! : 用时 4.67617187496217E-02 秒, 结果 158 位200! : 用时 .407124999999724 秒, 结果 375 位300! : 用时 1.00012499999957 秒, 结果 615 位400! : 用时 1.92199999999957 秒, 结果 869 位500! : 用时 3.14013671875 秒, 结

5、果 1135 位600! : 用时 4.68677343750005 秒, 结果 1409 位700! : 用时 6.64099999999962 秒, 结果 1690 位800! : 用时 8.9208984375 秒, 结果 1977 位900! : 用时 11.5000117187501 秒, 结果 2270 位1000! : 用时 14.5621367187496 秒, 结果 2568 位 - 来源:互联网 作者: 发布:我要购物网收集整理 发布时间:2006-8-31 人气:137 与笔者的另一算法(Sub calcfactorial(ByVal n As Integer)Dim X

6、YS() As Integer, x() As Integer, y() As Integer, result() As String, i As Long, j As Long, k As Long, TEMP As Long, stimer As DoubleIf n 0 Then Exit SubReDim x(1)ReDim XYS(1)x(1) = 1XYS(1) = 1k = 1stimer = TimerDo While k UBound(x)result(i) = x(i)i = i + 1Loopfactorial = Join(result, )Debug.Print k

7、- 1 & ! : 用时 ; Timer - stimer & 秒, 结果 & Len(factorial) & 位Debug.Print factorialErase x()Erase y()Erase XYS()Erase result()End SubPrivate Sub Command1_Click()For i = 1 To 10calcfactorial i * 1000NextEnd Sub上述过程中,每步的计算结果得到的数组,开始的若干元素总有无效的“0”,导致时间和内存资源的浪费,而且数值越大,无效运算就越多。苦苦思索不得更有效的解决方法,请各位算法高手指教。输出结果:10

8、0! : 用时 .015625 秒, 结果 158 位200! : 用时.0471*秒, 结果 375 位300! : 用时 .172625000006519 秒, 结果 615 位400! : 用时 .266250000000582 秒, 结果 869 位500! : 用时 .422749999997905 秒, 结果 1135 位600! : 用时 .657000000006519 秒, 结果 1409 位700! : 用时 .891250000000582 秒, 结果 1690 位800! : 用时 1.1571249999979 秒, 结果 1977 位900! : 用时 1.4845

9、0000000594 秒, 结果 2270 位1000! : 用时 1.84412500000326 秒, 结果 2568 位2000! : 用时 9.79700000000594 秒, 结果 5736 位3000! : 用时 23.703125 秒, 结果 9131 位4000! : 用时 43.7663750000065 秒, 结果 12674 位5000! : 用时 72.0003750000033 秒, 结果 16326 位6000! : 用时 104.15625 秒, 结果 20066 位7000! : 用时 142.422749999998 秒, 结果 23878 位8000! :

10、 用时 192.125375000003 秒, 结果 27753 位9000! : 用时 241.281875000001 秒, 结果 31682 位10000! : 用时 302.859500000006 秒, 结果 35660 位 5000!=42285779266055435222010642002335844053907866746266467488497824021813580527081082006908990478717063875370847466573006854458784860666838127363372108937727876312793903630584621606

11、439044789869822398719297088962116126529683217755003992421968370314690726447287878979040475488416221522667192841096923691044956597173635294840022384038112064482023085767110450230617489475542830976178172404080532480992780932878405548619936454829121187625824880218917397790005021321259804363924462646077

12、051135884659510867547058583392465522558903547443598834738317898803463300845863151020909150993565382001093304796574255674193091705517280520023607508599119763522875590790204336974312350691683121192449597155626740752146219898623308862599830285986485757874944596311528697088671004626842364817898990545469

13、086139161321834417414880718623444811483120949036119654687276775561788682872026910481409245641034183597560427645816151317857590166107178254415698088335937272999560337137120047104943765629114248860533529949964230069997220491812010081905943914067505326500477553385089909794510155109148690700440711957233

14、602624336813233021870928769919680665656975279042225826784156108337642578103262920268721107027468139435112860150232619064995917189736417637843649121970910984094451489535895910380417694195665783482207174910551275263914838117205260482696516264271009491939333266103010436053045911701455720958471435372194

15、824668679346737590487226813341020786090365710880637661624974950741310707740168218058594552644517140927746923006269751134604417456794673582878226162958424867515737917294272417878310542985824511757551188450657442482757466080023858837849239624736876150701576772589832112863229553704490251638792512759084

16、179174464046691353104734798446499615459554201399631735747630174003679619291994219076289544565626176704179953816113338731282351153415258130908791588363835166479722591294427065355714251173732380723263295812179791667969232968709692390100325557478905509980748706104723064619598495523965761220867386651417

17、169930755769189790267515734207586479634533844683508596549072732632191050406428971309622450516206466946809886991712212740450402068492326624176013291022786668727030528470945252682549661777249964520669983692591069089408263740104349837159112645582228060636139411534431677176993435366428492829443641476961

18、588199366138825557748770993700459475390784514903443452117456059403991626844469766182138747070532555957793319646099666214537756493547416970856238921477322286550718249043001618614219276045230767062114296176727470412361610722000974375864749275366514953216478084907514633007101669131342066288256261828386

19、583698363210876071042751607334834778841479673242708041086076184128188830711509898213533840661065214708704687476099542747367350945155359976904036735338555105257168265031768240574399341486239233198143257918219332189894045086501361099809838399311099635598132800104973158859631213185380120504678764291066

20、936560043730563343198487904899852470129330078934453286815667976288049553284638602013348026527983694639338499567504999370781474656154343893043138423787898184780288600997108869563298834771186312238278596365311513237793137364739742936941149902875197222799954518261548829895115192668211245135531847220999

21、043535594988729992203506203981601108637623653978217238023784665067362451063503442318731533830821204380471099941922782103974755271741604389016972396130554937184483611980356589606202500909366439936017200738361335440509432907247651890950250772467584198941222465939216311635203814736247952853973208930953

22、342191063570280557662972015655651076778080593345363112182956179288767300280245093212277885296841820826177847695564498038569127578737267804095915871173397110316523267806079812760924617350412018266687426280538527584397916760900774338074842075118511910292196033937628098675366508521286925532153678793252

23、188257410186613705432897373586272537017855880663985135038694403960492825882018041917807364969388580259775839889201438974716546597351085260570623440206963706566012953573404358296147342727580563083951066737534925965951857564693972321827578000325059389530382053969755887051154307392082742244051629970873

24、959976846120624662909811236801257989128480250509402891695976507939543719131137931442740513559963037564221452729434179724618759796407423914783899354156583471615685849903677305661135383336708754890041309198167633074904151033759730724688583924694171554829573075061850588158195952899266022562690343957331

25、345066697295211523066869622792094777997433657447267347140892807141128388808269337737807729310411076751363947620061085804059601963905801576100233746386935222838580143495717812558144586293004247940406573685986200791460459025541392995008804471038475899032654809733816694050008545272371357139490246382030

26、866854180283831752766806427848956100575585999171896678644915406357001449719424987892085973125427556751457520639911815073639748310249079384172565342189427676911659815343008463708776951029541513655173467505401523970604257174600108996844049884598547797790503163256848915655723100649972649872148080018177

27、035770150298300887948724388771888441683303470872323950537764223294409577321913758237167392470421672300225688313577923039468890066246618253265849072440676702493957969721746748556299818314966561174399768048209416625746387966030517127492511922636761533752438165621733077165012952098875485646713186260238

28、761996433486796151440832890206108283318089122132585368285646991600795210516696045169543061421230574300687721740715547321795757701759596764056381272915386751369871239557054235099922860597546996218619553135413213912643667690046542999681168055073786677066598802706297250200188284588614534436877145536130

29、4414465613369092862748276981946836480550952968681758714859972973082332924094777085275279923304892719633314751563311192746150389219290616780607901383451137066300684376267199885515143681266137319912103235469786756421210624899005553564022924345831264231038363416781719908354140411717740185950606674198348143345444247191436828225654380047860390575922417071802670646875454211626958746795398540784464654140381751149965273621123540880166990280149033225139460832668170930713868826549977374286127789417784752681328371818759103642140881783220739808059714203285309721443041845459183002833408705783138284973283

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1