1. MATLAB大数工具箱Variable Precision Integer Arithmetic介绍
Variable Precision Integer Arithmetic是John D'Errico 开发的大数运算工具箱,可以用完全任意大小的整数进行算术运算。支持vpi定义的数组和向量。
2.MATLAB代码
完整代码见: https://download.csdn.net/download/corn1949/89956607
clc;close all;clear all;warning off;%清除变量
rand('seed', 100);
randn('seed', 100);
format long g;
addpath(genpath('VariablePrecisionIntegers'));% 载入大数工具包
% 定义大数
a=vpi(1000)
% 计算阶乘
b=factorial(a)
% 计算次方
A = vpi(17)^17
B=17 + A^17
% 计算斐波那契数列
tic,
[F_5000,L_5000] = fibonacci(5000);
toc
F_5000
L_5000
rmpath(genpath('VariablePrecisionIntegers'));
3.程序结果
a =
1000
b =
40238726007709377354370243392300398571937486421071463254379991042993
851239862902059204420848696940480047998861019719605863166687299480855890
132382966994459099742450408707375991882362772718873251977950595099527612
087497546249704360141827809464649629105639388743788648733711918104582578
364784997701247663288983595573543251318532395846307555740911426241747434
934755342864657661166779739666882029120737914385371958824980812686783837
455973174613608537953452422158659320192809087829730843139284440328123155
861103697680135730421616874760967587134831202547858932076716913244842623
613141250878020800026168315102734182797770478463586817016436502415369139
828126481021309276124489635992870511496497541990934222156683257208082133
318611681155361583654698404670897560290095053761647584772842188967964624
494516076535340819890138544248798495995331910172335555660213945039973628
075013783761530712776192684903435262520001588853514733161170210396817592
151090778801939317811419454525722386554146106289218796022383897147608850
627686296714667469756291123408243920816015378088989396451826324367161676
217916890977991190375403127462228998800519544441428201218736174599264295
658174662830295557029902432415318161721046583203678690611726015878352075
151628422554026517048330422614397428693306169089796848259012545832716822
645806652676995865268227280707578139185817888965220816434834482599326604
336766017699961283186078838615027946595513115655203609398818061213855860
030143569452722420634463179746059468257310379008402443243846565724501440
282188525247093519062092902313649327349756551395872055965422874977401141
334696271542284586237738753823048386568897646192738381490014076731044664
025989949022222176590433990188601856652648506179970235619389701786004081
188972991831102117122984590164192106888438712185564612496079872290851929
681937238864261483965738229112312502418664935314397013742853192664987533
721894069428143411852015801412334482801505139969429015348307764456909907
315243327828826986460278986432113908350621709500259738986355427719674282
224875758676575234422020757363056949882508796892816275384886339690995982
628095612145099487170124451646126037902930912088908694202851064018215439
945715680594187274899809425474217358240106367740459574178516082923013535
808184009699637252423056085590370062427124341690900415369010593398383577
793941097002775347200000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
A =
827240261886336764177
B =
39786732894291535047752038041559739510060813980024082300128677315737
220661057371007315566038577459460472295375967652912115530975094458230159
748945767638080502959227566911971103003303064782118652210655457390045806
990391903935723345217011098898558323414160560058788484994314232438919361
648480915796003405953154858547321336465170635561696613297503569949729314
时间已过 0.166067 秒。
F_5000 =
38789684543883256337019163083259053120821277146462451061605972148955
501390440370970108229164622106694792934528588829738134831020089549829403
614301569114789383642165639441069102145056341337065586562382546567007125
259299038549338139288363783475189087629707120333370529231076930085180938
498018038478139967488817655546537882916442689129803846137789690215022930
824756663462249230718833248032803750391303529033045058427011476352422702
109346376991040067141748832984228914912731040543287532980442736768229772
449877498745556919077038806370468327948113589737399931101062193081490185
708153978543791953056175107610530756887837660336673554452588448862416192
105534574936758978490279882343510235998446639348532564119522218595630604
753646454707603309024208063825849291564528762915757591423438091423029174
910889841552098544324865940797935713168416928680395453095453886981146650
820668628974206393234384884652409887423958738019769938203171742089322654
688793640026307977800587591296713896342142525791168727556003603113705477
54724604639987588046985178408674382863125
L_5000 =
86736371465895885383685899083734627988749296908266697718910516829603
243745792894319409445065934018311806759276408106657878140581571252322290
592352182816454317830642806294915696507259600782428630579527200289399900
890243798950905398197779336849410229022075635261128947856178622512383651
611987171064582199785364144661892855393329957655011293621692761757048907
581380835072862776518473838576089887911790385803994142994787403953963300
462135776264101028671214222043100595669706503712422260321591938349741833
909810560531917844662963608386015535292114394273548549587754531713035329
609869839746468311286465912150765883607829751339112927728460545481320954
439261085063656857065810196265287265374807114065043494165873477744820737
007743469914624849154858214222121301536592881656216726223877497975020138
603424142192414573239947431193014211194769028951625785368457355897507215
672215756357085947624299673215013709223834119885938087074335110720037692
889724789645294247760513293787253748969205393137467338530082934187849380
96912910101395864289472119273964080078127
>>
完整代码见: https://download.csdn.net/download/corn1949/89956607