数学中国

标题: [原创]大整数的乘法 [打印本页]

作者: ysr    时间: 2011-2-11 10:58
标题: [原创]大整数的乘法
[watermark]如下方法是否可编称?有无数学问题?
大整数的乘法(10进制)用竖式法,公式:(A1+A2+A3+……)(B1+B2+B3+……)=B1(A1+A2+A3+……)+B2(A1+A2+A3+……)+……
分段依次分别相乘,错位相加,等式右边逐项把括号逐一展开,其中A1A2……B1B2……为分段位数,每得到两相积就错位加,错位就是在高位段后补零,就是乘以10的N次方,N为各段位数,位数应小于等于计算机处理位数的1/3,这样不会溢出。每展开两个括号,就分段依次错位相加,在算下一个括号项,直到括号全部展开,各段字符按序并一起就是结果。A1B1起始一致,理论上从高位到低,或从低到高都好,考虑有999999这样数段的进位溢出问题,从低到高算,结果数段要顺序倒排,使高位段在前,低位段保留字符,始终有高位段与下一段错位相加,每次有一低位段保留不动,最终结果段位排列不要乱。举例:
2324*2526=5870424,26*24=624,26*23=598,错位加624+59800=60424,25+24=600,25*23=575,错位加600+57500=58100,再错位加60424+5810000=5870424
大整数的平方也可用此法。[/watermark]
作者: ysr    时间: 2011-2-11 13:13
标题: [原创]大整数的乘法
希望高手看看有没有问题
作者: HXW-L    时间: 2011-2-11 18:12
标题: [原创]大整数的乘法
2324*2526=5870424,是个小整数的乘法
作者: ysr    时间: 2011-2-12 17:49
标题: [原创]大整数的乘法
[这个贴子最后由ysr在 2011/02/12 05:51pm 第 1 次编辑]

网上有20位的计数器,做2个60位整数积,12345 67890 12345 67890 12345 67890 12345 67890 12345 67890 12345 67809 *12345 33333 44444 55555 66666 11111 33333 55555 77777 99999 11111)=12345(12345……77777)+123448765500000+137165295+(……=12345(12345……77777)+12344 89026 65295+67890(……=……
没做完,请谅解
作者: ysr    时间: 2011-2-14 09:46
标题: [原创]大整数的乘法
欢迎批评 指导!探讨 沟通!
作者: ysr    时间: 2011-2-14 12:01
标题: [原创]大整数的乘法
大整数的乘除开平方运算,分段位数是,每段小于等于计算机处理位数的1/3,开平方每段必须是偶数位数,加减运算段位位数可以是小于等于计算机处理位数的1/2,这样不会溢出。
祝愿朋友情人节快乐!
作者: ysr    时间: 2011-2-15 15:49
标题: [原创]大整数的乘法
不懂电脑,是否可以用于编称,希望高手指导!
作者: zhaolu48    时间: 2011-2-16 20:27
标题: [原创]大整数的乘法
[这个贴子最后由zhaolu48在 2011/02/16 08:48pm 第 1 次编辑]

这个程序是比较难的
用了一下午时间才编出这个程序
是只输入乘数与被乘数的位数然后随机生成被乘数与乘数
结果输出被乘数、乘数、积及相应的位数。
是在VF环境下编出的程序:
CLEAR
CLEAR ALL
use dscfk
acce ';是否删除原有记录(y/回车)? '; to pb
IF pb=';y';
DELETE ALL
PACK
ENDIF
inpu ';输入被乘数位数: '; to p
inpu ';输入乘数位数: '; to q
s=p/5
t=INT(s)
IF s=t
p=t
ELSE
p=t+1
ENDIF
s=q/5
t=INT(s)
IF s=t
q=t
ELSE
q=t+1
ENDIF
DIMENSION a(p),b(q),c(p+q)
k=100000
a=0
b=0
h=';被乘数:';
g=';';
a(p)=INT(RAND()*k)
e=INT(LOG10(a(p)))+1
g=g+STR(a(p),e)
FOR i=1 to p-1
e=e+5
a(p-i)=INT(RAND()*k)
g=g+RIGHT(STR(a(p-i)+k,6),5)
endf
APPEND BLANK
REPLACE mx with h,sz with g,ws with e
? h+g
?';被乘数是';+STR(e,3)+';位';
h=';乘数:';
g=';';
b(q)=INT(RAND()*k)
e=INT(LOG10(b(q)))+1
g=g+STR(b(q),e)
FOR i=1 to q-1
e=e+5
b(q-i)=INT(RAND()*k)
g=g+RIGHT(STR(b(q-i)+k,6),5)
endf
APPEND BLANK
REPLACE mx with h,sz with g,ws with e
? h+g
?';乘数是';+STR(e,3)+';位';
c=0
FOR i=1 to p
FOR j=1 to q
g=a(i)*b(j)
u=INT(g/k)
v=g-u*k
c(i+j)=c(i+j)+u
c(i+j-1)=c(i+j-1)+v
endf
endf
FOR i=2 to p+q
u=INT(c(i-1)/k)
v=c(i-1)-u*k
c(i-1)=v
c(i)=c(i)+u
endf
h=';积为:';
g=';';
e=INT(LOG10(c(p+q)))+1
g=g+STR(c(p+q),e)
FOR i=1 to p+q-1
e=e+5
g=g+RIGHT(STR(c(p+q-i)+k,6),5)
endf
APPEND BLANK
REPLACE mx with h,sz with g,ws with e
? h+g
?';积是:';+STR(e,3)+';位';
需要建立一个数据库:其结构是
字段名           类型               宽度
  MX             字符型               8
  WS             数值型               3
  KG             字符型               1
  SZ             字符型             200
运行的结果保留在数据库中。
运行一次,结果是
被乘数85位:2620465459197653386411335669008550350038359292178811385663848663421961607790834650597
乘数75位:353134651665923403696162773229573729469787347282333636706751095833499125428
积159位:925377157136347346486464657840043315349899441110735694440889654271823777000891986276351512271376903163518559298007485943773362049725234787225586141757458080516

作者: zhaolu48    时间: 2011-2-17 05:30
标题: [原创]大整数的乘法
[这个贴子最后由zhaolu48在 2011/02/17 05:38am 第 1 次编辑]

我不懂VB,因为VB保存数据不如VF方便,因此没学。
中文解释似乎比编程还费劲,慢慢来吧。请原谅!
作者: zhaolu48    时间: 2011-2-17 09:55
标题: [原创]大整数的乘法
将注释的程序(略有改动)写在下面:
CLEAR                                       &&清屏
CLEAR ALL                                   &&清内存
use dscfk                                   &&打开保存结果的数据库
acce ';是否删除原有记录(y/回车)? '; to pb    &&是否把';y';给予pb
IF pb=';y';                                   &&如果pb=';y';
DELETE ALL                                  &&对数据库原记录作删除记号
PACK                                        &&删除记录
ENDIF                                       &&完成了“如果”
inpu ';输入被乘数位数: '; to p               &&输入被乘数的位数给p
inpu ';输入乘数位数: '; to q
s=p/5                                   &&以下是把p变换为除以5后商的整数部分t(当不整除时,要加1)
t=INT(s)
IF s=t
p=t
ELSE
p=t+1
ENDIF
s=q/5
t=INT(s)
IF s=t
q=t
ELSE
q=t+1
ENDIF
DIMENSION a(p),b(q),c(p+q)                     &&定义一维数组变量,c(p+q)是保存积的数组
k=100000                                      &&将数字分5位一段
a=0
b=0
h=';被乘数:';
g=';';                                           &&定义一个字符型变量g                           
a(p)=INT(RAND()*k)                             && rand()是随机产生一个区间(0,1)上的实数,并且乘k取整为被乘数的前5位a(p)
e=INT(LOG10(a(p)))+1                           &&计算a(p)的实际位数e
g=g+STR(a(p),e)                                &&把a(p)变换为字符串保存为被乘数的首e位
FOR i=1 to p-1                                &&进入p-1阶循环
e=e+5
a(p-i)=INT(RAND()*k)                               &&随机产生第i个5位数赋予a(p-i)
g=g+RIGHT(STR(a(p-i)+k,6),5)                     &&把第i个5位数加在输出字符串上
endf                                  &&进入下一步循环
APPEND BLANK                      &&追加空记录
REPLACE mx with h,sz with g,ws with e                     &&空记录中的字段sz用字符型被乘数替换
? h+g                      &&屏幕显示被乘数
?';被乘数是';+STR(e,3)+';位';
h=';乘数:';
g=';';
b(q)=INT(RAND()*k)
e=INT(LOG10(b(q)))+1
g=g+STR(b(q),e)
FOR i=1 to q-1
e=e+5
b(q-i)=INT(RAND()*k)
g=g+RIGHT(STR(b(q-i)+k,6),5)
endf
APPEND BLANK
REPLACE mx with h,sz with g,ws with e
? h+g
?';乘数是';+STR(e,3)+';位';
c=0                     &&把零赋予数组c(p+q)
FOR i=1 to p                     &&用双层循环作乘法
FOR j=1 to q
g=a(i)*b(j)
u=INT(g/k)                     &&求g的倒数5位之前的数字u
v=g-u*k                       &&g的后5位数字v
c(i+j)=c(i+j)+u                     &&将u加在c(i+j)上
c(i+j-1)=c(i+j-1)+v                     &&将v加在c(i+j-1)上
endf
endf
FOR i=2 to p+q                     &&上面得到的c(i)(i=1,2,…,p+q-1)一般不是5位数,
u=INT(c(i-1)/k)                     &&用此循环将其化为每一个c(i)(i=1,2,…,p+q-1)都不超过5倒数
v=c(i-1)-u*k
c(i-1)=v
c(i)=c(i)+u
endf
h=';积为:';                     &&以下是将积化为字符串形式
t=p+q
IF c(t)=0
t=t-1
ENDIF
g=';';
e=INT(LOG10(c(t)))+1
g=g+STR(c(t),e)
FOR i=1 to t-1
e=e+5
g=g+RIGHT(STR(c(t-i)+k,6),5)
endf
APPEND BLANK
REPLACE mx with h,sz with g,ws with e
? h+g
?';积是:';+STR(e,3)+';位';
积不能超过200位,若超过200位,可将如下句子前加“*”。
将凡是
APPEND BLANK
REPLACE
前加“*”为
*APPEND BLANK
*REPLACE
数据库也可以不打开,即把
use dscfk 前加“*”为
*use dscfk
作者: zhaolu48    时间: 2011-2-17 11:10
标题: [原创]大整数的乘法
把程序又优化一下:
可以不加“*”了
执行一次,结果是
被乘数:400位
  75886430482721375921720325114194003664436981865451
  20325938733523886787946003964541100805161411561219
  70078264786586159420034174476506302943165309348958
  10379636872023803352850658316287659857606778632070
  79234824405501754086440316671331362267174793937838
  94439387008062921701958793937410667598844374849088
  46575386733670844703866733457525229592566548877896
  20167598502957160951940119282400515424654512510272
                                                   
乘数299位                                                   
  7994247282028916975006290506415852018016751028182
  02810426452816190968461239896573786762801358730974
  67592173079456509562370031906373888059981559188567
  31262754791751750280614547359452308483543560869758
  12777622694897846679939068739925404999242548657093
  73833766492635507815172131754613017139183904891080
                                                   
积: 699位                                                
  6066548906293717134390984098456234089813338137671
  67381613669208978256330047925422695018104986995386
  34019897053165762281167776900339372579424795763195
  73534474961489413497216799981639487747007128034427
  23822736746298614300369516885303567987104204902774
  47242193390329966463937903844501924751105674519548
  21240422961222435458766621068095724129436814292225
  86464524084093894162759151110322812329125410105535
  73094206253380602826122850945841445907259375373931
  67081575062230746038201564145928840485025109577049
  05694348310269544498070956749403938504179620805162
  41816846596110445446294531630735712276699782488278
  36908308216014857827712984550894510363406001529549
  12763996255433627147216249681597621640069541173760
计算时间,输入位数后,百分之一秒左右。
作者: ysr    时间: 2011-2-17 11:23
标题: [原创]大整数的乘法
谢谢各位大侠!我搞出个快速筛选大素数和破解RSA密码的数学原理,其中大量用到大整数的乘除开方,破解RSA密码还用到大指数幂的模,需要用蒙格马利快速降幂算法,大侠可以编吗?我可以全文贴出数学原理,大整数的除法中除数为高位相同末尾10或20位不同的数,高位仅除一次,末尾的多次,这样速度快,判断素数的
作者: 技术员    时间: 2011-2-17 18:38
标题: [原创]大整数的乘法
ysr 老师,对不起了,最近很忙.没有时间帮你.这里的高手很多.希望能让你满意.
作者: zhaolu48    时间: 2011-2-18 05:39
标题: [原创]大整数的乘法
[这个贴子最后由zhaolu48在 2011/02/18 05:46am 第 1 次编辑]
下面引用由yeduhengzhou2011/02/17 05:01pm 发表的内容:
慢慢学习。
先生再来个除法?
除法的程序也能编,不过对于我来说,还是比较困难。
已经基本想好了思路。我还有很多想要做的事情,什么时候我自己
需要编时,再慢慢编吧。
之所以把乘法的程序编出来,是因为我前几天就遇到了做乘法的需要,
才认真编了它。
不过现在发上去的程序还很不完善,现在已经改编的比较完善了,
需要的话,再发上去。
所说比较完善,就差对已知数作乘法了,不过稍作改编就可以了。但这
只能作为另外的程序了。即对已知数做乘法的程序,原来的是自动随机
生成的两乘数。
但因为数据比较大,运行程序时键盘输入已知数容易出差错,因此还是
先输入到数据库内,检查修改到无误时再乘,能保证结果准确。

作者: ysr    时间: 2011-2-18 13:26
标题: [原创]大整数的乘法
感谢技术员先生,老师不敢当,方便时漫漫做,有空联系指导
作者: zhaolu48    时间: 2011-2-18 18:11
标题: [原创]大整数的乘法
下面引用由yeduhengzhou2011/02/18 01:32pm 发表的内容:
想问赵先生,这个乘法程序会不会出现前面讨论的情况,就是如果乘数为连续几个0,则出现积只有一个0的结果。
不会!
一会改编成已知乘数与被乘数的乘法程序。
作者: zhaolu48    时间: 2011-2-18 20:28
标题: [原创]大整数的乘法
下面是运算结果保留在数据库中的形式:

作者: zhaolu48    时间: 2011-2-18 21:06
标题: [原创]大整数的乘法
下面引用由ysr2011/02/12 05:49pm 发表的内容:
网上有20位的计数器,做2个60位整数积,12345 67890 12345 67890 12345 67890 12345 67890 12345 67890 12345 67809 *12345 33333 44444 55555 66666 11111 33333 55555 77777 99999 11111)=12345(12345……77777 ...
乘数是55位,不是60位。运算结果如下:

作者: ysr    时间: 2011-2-20 10:58
标题: [原创]大整数的乘法
确实很好,感谢各位先生!
作者: zhaolu48    时间: 2011-2-22 19:46
标题: [原创]大整数的乘法

   被乘数:                                                                                             
                 851 55484 90878 83319 24354 76861 55776 13531 38062 57821                             
               33670 67309 40211 82319 20821 28396 88717 88176 64593 61884                             
               51805 39642 38819 10461 72491 38348 30607 01689 89022 24180                             
               08870 80385 94088 42676 69917 05162 40615 80477 80399 73187                             
               26947 95414 62941 62232 19245 92782 94754 04068 93899 24369                             
               14547 28266 07771 11804 58061 40480 29088 20781 67521 24258                             
               86786 37724 45325 80451 21129 25457 47296 43283 43406 59445                             
               35779 37147 37527 71153 37932 63183 61315 50108 79488 29702                             
               30337 81207 89337 65522 92047 18846 95201 80279 23084 24424                             
               55749 60772 07527 18791 99449 17399 78918 26204 65459 19765                             
               33864 11335 66900 85503 50038 35929 21788 11385 66384 86634                             
               21961 60779 08346 50597 35313 46516 65923 40369 61627 73229                             
               57372 94697 87347 28233 36367 06751 09583 34991 25428 56353                             
               24663 08252 83435 47782 01557 74906 40029 79697 85469 49622                             
               54727 98759 01921 79342 83553 13506 56637 95673 61005 70038                             
               51542 39264 30158 16087 62180 45209 78736 05032 46883 03552                             
               63942 16406 82976 33953 33881 94480 50358 38572 78364 31471                             
               07748 22244 66933 46945 31928 93998 56899 39968 15285 88984                             
               79207 15580 41959 74881 34959 12141 87926 31829 60379 81128                             
               15316 19969 43057 95925 56280 73636 97273 91188 06723 86279                             
               31215 59331 75208 75161 63903 55715 57357 39914 74634 89077                             
               31044 53999 92760 98784 92705 53138 60607 45468 80075 09786                             
               27354 66594 51662 07693 56680 73537 18269 55636 55997 91727                             
               46885 04367 60070 70419 82247 55846 26850 13656 56393 78823                             
               28326 08988 81514 69832 44205 55503 46419 23658 91244 17741                             
               61931 02333 46030 57047 25513 16734 44034 16928 00448 59847                             
               62751 63980 29890 55740 21728 10936 31074 13334 57300 73417                             
               40035 99016 54850 36922 02107 67160 46396 35652 28554 12625                             
               06326 69695 64610 34287 03089 12168 39273 23668 89651 82850                             
               92137 17725 40545 89893 97595 79862 68301 66151 31712 98225                             
               77092 51708 52094 15351 36397 99160 86050 28220 82499 03206                             
               47372 22784 80621 81127 27040 32028 05526 55699 28161 31633                             
               23379 17116 40468 12292 82702 65474 74671 92761 47213 60390                             
               01994 62677 28376 29305 69193 69245 00470 11047 84379 86815                             
               05994 36207 93952 33445 84210 70897 95961 23498 80647 75445                             
               60206 70327 20375 54600 50383 78130 52857 00794 68601 87027                             
               01201 57046 67567 60416 73615 51043 00769 28680 19883 76988                             
               05944 28307 40671 26755 42181 00481 82485 96927 25927 38201                             
               76074 23275 36250 96013 01111 19241 84640 01384 84958 19987                             
               69680 31815 68315 58571 61892 46725 95586 25822 89069 88198                             
               12763 90454 17409 89624 80636 81016 48762 56324 36152 56202                             
               79304 07205 59737 15118 89948 91516 31371 24040 63806 19761                             
               83265 61247 51016 72837 81916 06483 26240 78454 97378 26602                             
               09156 68907 42551 33976 43248 59254 90303 19216 53208 09971                             
               01230 84770 26269 63137 19881 30967 87767 66223 22251 71059                             
               66264 22532 22351 76834 68530 32374 70678 81360 09696 14013                             
               02390 90408 68903 18474 18000 79148 65749 77248 04403 75645                             
               77848 46982 29048 57740 44814 40191 65064 14877 28987 56083                             
               30159 51424 28208 50529 47101 33069 60954 09264 58588 02842                             
               69155 13376 54336 18327 08995 11131 93173 86628 25012 35221                             
               27977 98655 27818 29477 66251 89285 20741 74121 24155 74966                             
               45701 23609 56817 45322 43643 96146 72712 10334 49834 78911                             
               64946 29634 69329 38077 17242 75506 02931 47670 67449 06134                             
               18949 76348 36379 50661 91072 96142 54792 32640 47667 02243                             
               46336 83414 02812 57876 49259 22005 64389 03342 84696 03075                             
               39528 93281 04363 59501 82739 51215 75447 91158 57022 55448                             
               85517 76447 03286 95368 75275 08140 38374 62223 31941 80102                             
               27019 63437 01103 76463 98039 74520 99830 39786 00077 67636                             
               38875 19800 17206 80900 86765 29272 89719 17451 33601 58557                             
               10393 88384 37381 25414 91560 38582 60645 61630 23299 19528                             
               30279 63030 68039 98145 78261 54420 61912 15742 46189 46039                             
               18150 36112 61383 83082 52851 46859 17386 14838 78417 03007                             
               16668 35038 34977 26957 58354 69939 55122 03855 78780 15735                             
               82238 36430 77697 51848 87779 48372 87930 81651 57771 50303                             
               71307 77203 43865 07413 48670 29551 99259 72811 96778 31154                             
               44792 75670 69924 42001 35526 78213 29064 15992 23133 40612                             
               86283 89119 34391 57862 97402 56040 11106 57683 60544 86587                             
               81773 73529 03469 58779 60292 31748 67494 09906 92037 16972                             
               20801 32234 92615 04788 58956 64908 49598 75756 75452 58605                             
               82570 49842 10072 14509 81774 05321 07912 24153 70697 71209                             
               46846 61720 62885 07306 16271 05329 08310 10887 54930 88903                             
               49606 14119 80630 11158 33472 61270 69667 53281 47569 79755                             
               68769 81873 78219 84097 47375 38694 09212 76866 23057 43798                             
               07044 35642 17893 63605 62886 00085 28620 20478 86615 98161                             
               18361 45364 73199 75593 62752 00066 86758 17591 08268 20709                             
               32623 76941 25580 58952 12681 47490 65735 22526 84346 47119                             
               51981 41646 68449 99235 65055 12861 76368 26877 04738 96916                             
               51712 98467 35487 72172 46860 89296 48966 70163 79685 47787                             
               01287 44838 40760 80608 07764 52060 46368 95698 03004 40921                             
               57625 67263 99138 83433 11028 11806 00015 94168 30737 89257                             
               54160 16391 17921 68262 54316 76272 37449 19694 16384 31714                             
               47274 27454 95561 67382 40790 30611 22510 12481 97506 35959                             
               67350 82854 62316 65046 64298 73956 98709 24735 54767 56267                             
               86210 15363 31731 49718 57372 15565 93173 78674 94636 07814                             
               37430 34048 32358 33754 58242 94113 34338 93369 22320 80558                             
               42132 27075 37251 51367 14494 44777 42540 57074 03234 90962                             
               81617 11965 35816 59893 37609 56772 00010 99959 40692 14447                             
               50902 71248 79842 65557 85586 45410 76792 94869 55838 61862                             
               05010 85698 14095 79409 61499 63560 13048 87326 24258 15711                             
               04155 64993 53187 38129 05398 04111 17266 86490 33590 32589                             
               55820 32726 21545 04147 06667 53693 65417 42707 58989 03548                             
               72540 55636 13706 46370 05060 54887 59198 50598 39681 50129                             
               95157 71851 88838 02894 62407 75688 53610 55841 61487 76874                             
               03683 76163 67819 96705 04671 77227 76269 64973 38122 07494                             
               32919 18112 84505 20794 36849 70106 64500 66999 19764 57708                             
               58905 67181 36255 86541 52461 62295 22522 29637 71920 49470                             
               06366 54986 13668 44951 76260 83644 81201 37766 42322 04975                             
               77786 23182 46984 00584 24605 30006 08191 53500 99704 80796                             
               02927 44180 18049 49042 23883 59891 98015 02388 67090 69029                             
               84608 45948 33312 36951 24740 04785 51030 84863 14868 09604                             
               53811 18342 66306 74743 69897 77052 58528 82503 06798 82209                             
               75771 12891 38728 83366 47251 82833 29684 31074 36304 83926                             
               49980 26984 48766 32788 69048 27959 55906 73060 32325 05745                             
               52218 93144 55038 88775 93392 48713 90685 37663 84772 04078                             
               57045 30952 15615 31461 27521 62681 59463 32238 20614 78324                             
               85942 69228 45375 00680 54298 24063 85606 22258 83983 18734                             
               30657 65736 22608 65352 85613 39041 56565 33191 18685 36629                             
               34647 47088 28625 63511 99959 56244 39972 83601 50449 37505                             
               58940 18939 73359 22171 47768 51360 23923 60411 00332 03163                             
               43604 62327 26848 98345 38209 79755 80460 30970 61160 17836                             
               83548 92225 72278 90449 36538 32730 67343 58542 17061 61666                             
               98785 15442 02244 09279 32795 08199 71967 04330 13169 09031                             
               75886 43048 27213 75921 72032 51141 94003 66443 69818 65451                             
               20325 93873 35238 86787 94600 39645 41100 80516 14115 61219                             
               70078 26478 65861 59420 03417 44765 06302 94316 53093 48958                             
               10379 63687 20238 03352 85065 83162 87659 85760 67786 32070                             
               79234 82440 55017 54086 44031 66713 31362 26717 47939 37838                             
               94439 38700 80629 21701 95879 39374 10667 59884 43748 49088                             
               46575 38673 36708 44703 86673 34575 25229 59256 65488 77896                             
               20167 59850 29571 60951 94011 92824 00515 42465 45125 10272                             
               07994 24728 20289 16975 00629 05064 15852 01801 67510 28182                             
               02810 42645 28161 90968 46123 98965 73786 76280 13587 30974                             
               67592 17307 94565 09562 37003 19063 73888 05998 15591 88567                             
               31262 75479 17517 50280 61454 73594 52308 48354 35608 69758                             
               12777 62269 48978 46679 93906 87399 25404 99924 25486 57093                             
               73833 76649 26355 07815 17213 17546 13017 13918 39048 91080                             
               20473 43606 17960 34068 18074 12650 45533 37673 28206 37425                             
               47785 42869 80612 13818 55557 34444 60180 73583 94143 47591                             
               30995 94701 87473 26175 44477 67302 97157 96705 64412 41719                             
               41699 47107 66685 10230 66217 24333 96543 99059 57939 89886                             
               91179 72191 27835 97317 00470 73563 03661 80757 63665 59200                             
               04745 68542 24845 95855 93826 61010 94967 27715 26254 36504                             
               93300 37732 41864 74676 26067 55150 69843 11129 85112 85788                             
               41897 62473 74392 66629 34022 85849 97119 71301 82219 61997                             
               61357 17993 42428 15914 86884 56369 90023 14174 21148 35062                             
               79175 02970 97105 76286 07376 75948 90770 09142 55464 85876                             
               61285 38180 98444 39234 81325 48778 07424 37773 90640 75893                             
               87972 56107 30561 87767 25220 69406 42270 61117 31009 70249                             
               36656 49414 13404 38695 68565 70772 13883 54647 73256 67040                             
               82514 66554 47876 10643 86431 55535 85769 60740 71928 58962                             
               96426 95262 25473 42590 68898 70389 03965 35281 61473 84038                             
               29538 65381 25437 44903 69234 62831 95728 73644 44844 16057                             
               06302 87745 43242 97707 13013 46646 22520 98300 31827 58681                             
               34237 31849 25182 76391 07087 02514 94300 31791 62316 46363                             
               60279 88131 56181 87277 41752 09727 69775 71093 61956 76417                             
               91531 67027 42996 94217 62709 50440 70136 78721 81187 06019                             
               33917 12826 83865 15430 82926 05328 52994 18509 45012 01964                             
               16743 62039 99782 25461 39319 75207 10174 46142 20947 35760                             
               45924 09670 53029 15969 56739 73480 98789 22422 77997 28462                             
               94719 68743 76768 07466 93139 45267 70989 07183 91183 74765                             
               79590 74964 16523 68260 86392 37152 65145 20003 25589 70470                             
               11482 05671 21618 43045 36235 72853 41245 76621 42168 37885                             
               40661 06526 53216 28085 15421 40953 17197 33478 86014 46128                             
               57457 57037 76904 08909 43750 77537 71830 53393 77665 64061                             
               53193 13094 12927 06229 58338 85245 55858 49218 10538 18789                             
               16344 47621 07506 12631 04590 77223 75229 25701 93991 68750                             
               19957 25399 95434 52643 36137 25978 13328 28946 53129 93434                             
               78700 01338 28498 18461 79638 39400 20695 84036 34420 58160                             
               98958 79195 77629 28986 73221 35560 54567 60895 51861 88188                             
               44287 16327 60085 87293 56540 50461 76782 12414 72975 88123                             
               72636 65587 27879 77354 57325 45077 48786 83712 68614 26247                             
               02255 14340 61156 01113 15145 85899 77810 53157 66685 75401                             
               11294 68952 71659 18020 88979 13169 00016 40934 38648 18523                             
               03220 47267 18010 67229 42648 89192 15811 65515 40355 94254                             
               57332 37769 97511 33981 72095 91880 50829 48841 06586 32329                             
               62293 68607 89819 22596 62498 92200 84533 23449 92916 16066                             
               81853 58672 17405 25142 22221 84798 98261 85497 50403 66407                             
               57139 02681 37398 83555 66147 34870 27050 22894 39430 74855                             
               90178 29045 20554 39937 94042 17785 86004 33802 19952 77620                             
               10106 69424 86831 11292 61686 67072 63553 93794 27789 66475                             
               77861 48449 84747 17206 54674 67621 61935 36354 41611 29617                             
               68508 47548 04525 88336 78444 40382 00879 37245 94193 14320                             
               63753 74227 34263 96136 54325 18874 15030 44944 65603 58779                             
               22112 83898 85258 26399 91598 22608 50334 33047 46459 59344                             
               51677 11573 58437 77087 70880 44297 30749 72491 57558 77766                             
               21891 81816 79768 50882 55878 92896 05392 87975 89216 57209                             
               97279 33380 29924 41098 29979 29079 28927 80227 60865 61974                             
               89116 26312 13463 32348 62403 00204 55808 20085 30070 90379                             
               81621 50200 86737 60910 27140 84256 73256 57958 81403 89212                             
               28837 28877 72803 60284 57732 92969 39723 99371 30778 27966                             
               18066 75604 67117 61296 03494 19591 66405 80192 71185 27918                             
               86819 99723 60922 79462 89182 52786 60323 90084 92510 91137                             
               44039 57264 11297 11524 51707 71242 69854 45970 12498 94222                             
               14009 80291 49049 34204 65482 89892 18609 65014 89253 06907                             
               74203 69079 69222 57760 53627 04529 12492 35191 29087 23163                             
               27570 93815 75295 90875 46814 83286 38839 87067 88422 58119                             
               16629 84639 78290 28229 76238 37103 77047 39261 75958 24390                             
               82572 96768 67364 33912 03316 73293 88216 78439 22741 62434                             
               78511 77354 00176 68932 77478 52851 78418 48865 84357 17635                             
               93380 39001 90749 55694 06106 39370 17371 22691 02458 38127                             
               13005 17556 30796 92755 98481 01824 72951 06685 63481 68296                             
               68821 65387 48989 85579 39882 20993 73208 70057 81950 39522                             
               83732 61883 22483 49759 43808 06519 62750 57868 85496 68423                             
               50175 16775 87526 28411 51175 64412 60684 41283 19791 69862                             
               48524 55264 82431 51484 76227 19822 84053 56065 05417 33426                             
               66067 13081 77747 07811 71302 03102 55065 50312 96330 04438                             
               88976 90815 36470 07054 77609 04916 93771 07845 92412 09822                             
               43309 26313 82763 34570 78087 04720 91242 91131 77867 81778                             
               37350 97949 72234 53930 52500 32484 93216 63299 74093 14328                             
               37768 76357 31484 45444 85426 42373 81655 59095 41455 45722                             
               77417 54034 00793 91089 75926 15503 53116 85657 20365 49617                             
               74316 07323 52563 82681 74732 73018 39399 02026 99421 46183                             
               20778 39891 00797 47465 12007 26953 28942 57707 18378 67036                             
               09915 27275 44764 09577 07345 30804 08056 21416 87655 31414                             
               85239 84450 34202 43454 54926 70741 80653 07859 15164 71625                             
               58922 19149 85316 82383 81960 68167 24846 69045 06727 89590                             
               26803 68885 47648 28296 68831 01170 35875 63635 29506 89723                             
               44658 55676 02820 23866 26141 02489 68622 09308 29902 22525                             
               01830 85532 98538 01154 28219 11249 60618 65426 59611 44485                             
               66302 76122 66268 68856 35967 51143 69307 42595 17110 59320                             
               60942 71901 69887 48690 85375 35163 26561 98307 38145 09626                             
               95196 07656 66742 77060 02901 62719 80308 09998 98939 42772                             
               01226 65103 63003 56962 16425 35221 88993 24732 11196 36695                             
               39587 39160 93344 33489 91920 77264 40486 24700 19703 46350                             
               28302 46998 82065 80449 22561 68584 14455 25925 42720 76202                             
               41906 80293 29930 81790 59975 73333 77237 00318 53665 04546                             
               04811 75377 49656 76019 88003 54091 22147 84771 71045 37900                             
               97621 63622 24213 60794 28850 84669 27255 71542 33455 64419                             
               86902 21492 17317 34644 21271 84499 28179 68022 68980 60545                             
               09729 72627 05782 39611 51479 94324 76523 27369 54767 91144                             
               75257 59247 60179 68690 31310 54443 06708 90638 84111 86435                             
               17970 03407 54614 71565 35777 39039 46110 02246 46387 85377                             
               32242 76364 69747 37582 15046 99429 07032 70063 60820 61052                             
               66797 92880 46642 12290 15057 81683 75337 95438 19606 95245                             
               41722 02826 83883 19659 57930 66180 90707 03256 70623 03111                             
               01182 71307 27924 72298 79093 34579 78857 13924 36103 30787                             
               13125 76929 18062 63038 74029 59636 77745 24294 02352 15333                             
               04322 21940 93999 99340 04886 41509 79233 59157 58341 13636                             
               56296 94233 86963 73287 37240 36934 15953 25348 88780 31254                             
               16291 55611 75977 10851 51202 51240 41562 02961 71545 19777                             
               78725 09748 30449 20733 80163 43665 12487 48850 71223 18379                             
               97724 33080 59928 21818 05938 40352 61714 22922 91324 98185                             
               81692 88638 83009 75210 62232 12734 91667 83670 28696 82997                             
               27575 92949 91136 38361 00393 68201 84746 92552 96004 73142                             
               56909 25792 50714 01056 33631 71130 68129 23100 23187 46971                             
               49019 67943 39784 12356 29482 71823 55055 46555 47723 63073                             
               10200 79542 84762 70188 46582 24915 49370 67480 37596 91814                             
               02567 97402 29614 77405 41981 33590 24829 66499 91372 73692                             
               63808 89858 65661 76043 90557 17755 06748 79252 07925 90352                             
               10447 68760 56153 11457 89846 79438 72369 57217 45410 48270                             
               13871 76326 37123 56215 52973 83287 79008 23273 76260 71315                             
               01312 45850 46041 96416 50685 90464 06826 09240 23656 82860                             
               44635 36229 53726 56603 31949 36663 97382 50202 16117 87133                             
               89355 66834 34042 70026 62425 35725 60935 67574 52090 39258                             
               25972 88032 31409 94862 52662 75547 46340 05751 06720 80280                             
               46870 19573 59288 90349 34263 59034 98293 52145 69734 13547                             
               45758 30593 14861 05995 63893 85914 99044 73640 57758 68460                             
               34336 27259 07328 58167 22936 77573 86759 00210 27688 43008                             
               53677 13408 00865 77881 16301 72940 91572 85050 11204 93952                             
               77082 02103 49537 67591 88394 75141 14520 26055 25361 59229                             
               18017 38203 81665 09556 49002 62297 24977 52396 71733 07431                             
               02602 49906 56451 80217 67927 97835 50402 18292 47980 20212                             
               22012 37192 97415 50061 36010 42181 09235 10223 42332 81572                             
               77570 33325 86596 43125 32811 84988 74980 20065 94428 79304                             
               51298 98295 11767 00674 69106 41365 88158 71048 66634 74755                             
               08626 26639 77360 96038 16537 93177 34047 62481 09475 73751                             
               49050 32655 49676 88324 78694 63609 09319 28957 04562 90173                             
               96000 19831 89479 37951 28683 96106 91020 46570 59470 40696                             
               40349 04746 61461 43017 19203 23725 28063 68766 92831 00671                             
               54020 54801 81707 48553 93499 68182 79819 94101 15548 93430                             
               52359 70388 02213 37077 70614 55611 59661 63558 66883 34614                             
               37587 01519 17216 84740 77250 84592 84811 12550 33423 15708                             
               81856 92994 40586 69010 32650 87580 18670 68420 45796 43108                             
               38666 06934 28296 97539 93404 95702 99356 44549 43823 56949                             
               86696 33342 36048 99818 13211 05278 09570 43173 06762 93873                             
               41856 74446 90930 39756 99703 58578 39538 97111 92634 36120                             
               02759 33202 48659 74560 37611 47515 57718 61928 00666 62101                             
               53107 56759 85776 59661 26203 33456 14629 70961 94808 87132                             
               12951 38117 70416 86983 30171 05323 94715 92267 85342 13584                             
               40645 69928 47156 01016 98319 77960 80851 35272 91115 03543                             
               19821 29666 92260 70033 44749 19539 37214 51860 78071 00454                             
               52168 61402 26584 54766 43968 96887 30012 18126 21775 65401                             
               98345 62499 45774 20050 45747 97245 23257 75349 53879 14826                             
               97367 89893 22410 32705 98843 30375 89556 08008 56056 56018                             
               30455 26485 83663 87480 66177 92368 95192 49286 41198 70658                             
               09850 99868 52143 58421 48901 88257 35606 86649 41891 01507                             
               47870 79254 88059 91890 94332 20743 43231 97954 91448 09162                             
               27517 98482 69009 95842 74121 63426 45561 38533 64576 90873                             
               34786 19474 20721 44117 65646 04973 48721 27882 24117 48048                             
               55456 67771 49310 60697 82588 82006 41802 07366 28609 59502                             
               66992 96159 54197 83366 61276 69378 91179 63861 73881 19932                             
               00426 69903 02145 85191 48981 73161 03074 94844 01739 43819                             
               88978 74325 47996 62047 39997 30361 08162 34277 91346 70222                             
               90975 28311 78064 31217 96508 66346 45109 22007 85290 39968                             
               55590 02301 58856 36191 54957 52489 22032 88575 73962 09785                             
               22275 92525 78199 72425 86369 48799 97046 98510 99805 24302                             
               89801 51024 99142 44238 31854 65619 72676 54660 28675 42707                             
               89718 19496 90458 90437 03794 41117 25218 70113 00094 18495                             
               33155 20608 82460 82022 10104 63358 20246 69054 92878 14473                             
               00349 29241 04319 55545 54731 73702 80864 39708 58739 07109                             
               90452 34516 20540 06752 73565 28201 06982 37624 65234 50865                             
               76196 17622 80812 87189 12238 71891 73327 82194 82110 40403                             
               95232 66642 60444 27817 22363 53621 92180 09682 22910 82891                             
               88546 34059 79232 14537 76644 82608 95303 98513 47973 80216                             
               47625 71615 76179 67217 62404 58467 99364 73277 26816 78067                             
               87255 57000 67157 82470 38547 00316 51708 79152 78737 71723                             
               01120 13637 53759 97434 14120 13935 39733 04499 41379 23360                             
               14132 24959 65322 73292 58699 75106 68715 72440 89409 48889                             
               99831 14172 33791 89559 67014 28473 00931 28586 20445 30099                             
               14462 05931 03932 39479 03855 10724 84531 77936 74320 06420                             
               92811 63789 00637 29483 31572 60890 15223 75674 35842 56173                             
               85753 12995 91946 67767 02637 85358 48478 10229 21680 96037                             
               76972 68486 32230 84973 65099 57010 46121 38980 50195 65831                             
               27733 98932 25929 19909 10480 52981 79930 03462 70032 29873                             
               45192 25792 49590 31429 73045 30173 57526 68237 60535 72381                             
               82692 87644 90003 20398 97727 08082 63688 51887 45656 98816                             
               41154 50970 30110 69155 12376 30892 54463 56205 64267 34127                             
               80216 25215 23487 86483 99927 21585 83326 06774 45004 38600                             
               47485 98631 73675 89940 48566 75986 09450 01050 24073 98830                             
               25374 58407 57760 20769 94403 80774 19107 74975 51202 01473                             
               58764 50066 35681 75773 42761 32497 13582 52422 33300 17016                             
               94428 73411 48940 11745 92153 91025 61997 89461 98712 16233                             
               15947 61620 65999 37493 70682 76705 16376 74035 08392 69454                             
               27126 52665 57917 12520 59145 22186 20360 47148 25187 44458                             
               03788 94406 17970 26199 99825 73553 43458 80560 59947 79096                             
               29635 32550 54311 93101 06069 07376 20897 34317 74606 65747                             
               37810 70688 16475 75223 76531 46795 06136 31653 18942 02811                             
               27185 69777 45927 86516 10611 27054 30374 84945 40739 49767                             
               92381 27228 99155 55482 99480 35180 41935 90918 19697 23207                             
               30483 49282 60254 74101 61302 36150 49728 42259 64998 97936                             
               46480 60924 69833 52024 81165 54978 50147 82628 66140 85875                             
               04954 91431 29573 80256 37022 17072 57081 18826 27758 62546                             
               48686 87041 28207 94574 23930 14177 11474 04014 32939 52342                             
               56885 41359 56255 71987 61200 66405 01260 75489 97187 76138                             
               27982 55359 64876 99902 62113 48641 05796 75926 78055 64072                             
               75514 48248 59781 83544 94792 48120 72357 64463 24667 48945                             
               01908 94536 35764 08811 46866 75563 67167 39692 68287 37807                             
               95151 67360 32075 11475 57090 71090 00902 06908 00850 17213                             
               58654 80010 54990 25577 75211 84507 40067 32979 44364 37570                             
               66374 42633 52693 50396 88415 73741 62219 00279 11428 50217                             
               14630 45752 70271 92635 89906 11365 25991 02467 77151 93642                             
               50371 52664 40443 64799 93787 23646 87517 75781 56669 48771                             
               74094 85170 09897 58334 01664 65541 34431 36161 91538 63821                             
               75489 27874 42988 17209 31593 64866 08275 51233 23790 93070                             
               42388 11493 15358 20571 10299 05657 77317 23131 59554 57281                             
               20050 71682 91004 97997 36352 70864 85502 49651 26216 22645                             
               69354 72940 98669 54121 26370 84122 70975 73519 89294 66344                             
               10508 43497 68451 27172 89621 85792 00413 78867 48805 56271                             
               24487 42985 88475 54458 19862 05849 34668 56602 61202 76467                             
               48987 86332 75515 23450 78100 61979 08099 92501 63087 84620                             
               30385 31027 53980 55908 47491 71452 99783 39744 88286 49771                             
               09289 06867 85796 60931 03020 26408 80747 77586 01584 93492                             
               06072 83796 20775 06920 35179 00226 68725 36029 01810 02415                             
               65412 40761 24287 58674 29854 34027 91971 39171 05282 00409                             
               96734 72777 17620 10282 17272 53222 87575 93404 89053 21130                             
               41654 61036 17731 73505 92422 90672 18818 77205 83301 12417                             
               91452 87998 18246 61095 59049 01737 21588 83139 34666 89228                             
               98365 12329 93884 91355 90458 53444 63019 76022 48840 37879                             
               55486 83467 67245 40302 14111 11524 47581 70412 42214 17389                             
               92396 78850 31284 37447 44696 41336 18033 51733 20454 10092                             
               28666 44583 04093 46612 93176 38036 02280 74841 37454 99558                             
               76330 18830 86064 50642 98533 13920 33456 27846 02722 05529                             
               66465 72840 24392 74599 45880 53019 50684 53762 79912 39241                             
               25537 23297 47372 92260 80340 00924 53362 34413 85374 64525                             
               25306 08121 42373 71817 82116 47767 63510 66080 34324 16526                             
               07122 81970 97979 84684 65483 90495 30123 51035 24941 47214                             
               18674 33901 43734 32727 84495 83347 17793 99498 78508 91145                             
               29839 64108 81616 00061 02106 08960 40287 39014 97980 82539                             
               95585 35682 42876 12250 88476 83108 59675 68934 49213 61878                             
               39013 47095 03617 44418 89755 49917 54064 32992 39948 93127                             
               17991 07950 83588 66767 31739 87794 93482 18945 52532 27617                             
               45557 50611 16421 07493 24887 35442 34992 87364 08787 03873                             
               38660 29994 47259 55370 99355 18557 86120 87967 90415 20406                             
               03119 59166 66501 73610 52345 17242 71340 97796 37265 67017                             
               06118 55874 57670 59178 16325 18203 00873 17183 79871 05764                             
               72450 40833 04286 13892 86848 50567 65811 43147 63166 61536                             
               48200 88863 96427 01535 64039 65969 99650 11832 66399 70607                             
               37031 94986 83627 05144 93559 98680 35106 18117 51363 49674                             
               10773 35684 68108 76896 22226 86143 77763 87776 58221 44079                             
               59038 86848 02382 45700 41810 50713 95923 51934 46851 98403                             
               53207 60830 79170 21223 62952 95851 20279 61123 32883 21602                             
               89700 51676 60669 63561 71018 60707 38928 33379 22801 98649                             
               27136 86306 19697 81688 48237 62316 94015 63745 92777 87474                             
               73111 76381 38369 37128 32883 40662 17297 87479 12695 40073                             
               90088 07089 62039 68514 07843 64897 14248 92473 71153 56296                             
               07568 91403 18417 73846 98914 65404 01353 74172 40604 24237                             
               30544 17621 15406 96753 98800 82229 50184 24800 15182 78575                             
               53484 30659 07466 17070 47347 72076 75890 04254 88679 23964                             
               05973 69653 00485 50815 73238 49776 58273 58908 97632 80792                             
               01951 42356 30474 76469 68523 62072 81730 92922 65901 21696                             
               20436 06749 33138 29573 06074 58101 57403 60811 33720 35257                             
               43006 58513 00774 02270 52786 38226 28086 96238 67172 84672                             
               93286 45763 31240 54835 59133 87175 85062 26450 04701 80060                             
               97672 55972 92204 48674 49959 35070 27281 00799 36800 59731                             
               95553 00595 83735 51016 83253 97032 98515 91538 14761 34434                             
               02821 66732 64842 96733 14472 24966 28399 61958 75435 95566                             
               55566 68556 45948 28811 84939 20085 10065 46967 32770 79844                             
               62944 20412 20923 32019 75185 07929 51420 10883 54530 25216                             
               60374 24632 50240 30685 09138 25414 70456 42605 95461 02100                             
               07869 26656 92491 97389 93995 17961 48411 75778 27382 66643                             
               04535 93979 46050 20989 14678 50340 39486 87272 73599 14831                             
               20503 30289 87350 66160 02265 03694 43324 87579 50817 24171                             
               62822 97945 08400 28523 43957 19597 07889 77730 27700 09613                             
               23651 97039 44884 06009 29149 66164 26974 65435 56584 98629                             
               88424 93949 78915 74347 13426 97409 59542 14480 04865 03066                             
               39990 12645 78296 28899 60878 61530 08753 02282 36518 38989                             
               63199 54514 28427 42661 76435 42802 88083 87198 53283 76242                             
               64234 03143 04843 47368 95062 01542 51650 95833 30532 93329                             
               51535 55773 55224 77569 35012 63433 06967 37604 55985 26610                             
               11585 09174 90614 82464 79073 09576 42122 95288 31507 41915                             
               34390 70760 58005 13523 02117 88286 17052 32590 10384 77947                             
               31505 72091 61424 93661 46580 15052 71409 59078 46140 20233                             
               25069 87806 47604 72280 40962 04512 20770                                               
  20133位                                                            

作者: zhaolu48    时间: 2011-2-22 19:51
标题: [原创]大整数的乘法

  MX           SZ                                                                                      
  乘数:                                                                                               
                 541 05189 18459 00889 14704 56390 26054 91278 94039 29818                             
               43959 75806 64769 93304 99331 86547 84174 32933 28755 96932                             
               47759 71239 62427 35687 24469 25734 95162 41901 88867 40574                             
               70767 06507 39361 49192 31372 70507 16514 50692 08249 75248                             
               60523 07832 55710 85056 71919 99395 54625 27555 64553 84773                             
               37140 21965 24924 63568 09138 90706 16924 38021 72028 74615                             
               96056 11094 70402 97087 22178 78002 17143 47455 84856 94017                             
               72532 78920 80370 26356 78920 41348 04443 22957 77533 94237                             
               49763 55973 58967 70178 22338 22773 23931 84111 15777 12284                             
               55819 08699 07531 69477 31650 61127 66180 15801 22952 71636                             
               83806 08399 63154 29114 72537 45900 83037 24039 89306 53602                             
               40822 34116 77902 05869 98445 22882 42358 68544 20586 46626                             
               90764 69191 98013 89916 13540 27990 21811 75054 85246 07083                             
               60044 15769 04001 61184 13428 10460 07545 97288 51567 95301                             
               30037 76255 56319 02527 88631 14114 23850 94201 13903 65883                             
               01948 66790 63189 99719 64149 46843 80890 94215 47242 23110                             
               94819 16655 03721 85384 62641 65031 45730 65403 07477 81654                             
               82083 00116 06725 71151 74916 62616 23172 80669 67517 31071                             
               92453 25105 59924 90952 05914 65160 33828 90869 52953 71045                             
               53368 97347 11901 29637 93353 18821 03488 77911 71497 94199                             
               45976 70447 86218 66279 76023 13840 86567 85343 24313 25811                             
               25846 13240 60052 01838 75482 23274 43365 97119 00716 16197                             
               49665 56685 24673 97631 55062 51462 32369 87237 96866 03107                             
               91230 54917 48252 05426 89666 04399 71146 75185 20287 49479                             
               36400 90129 59298 53270 25306 97021 18656 25733 51532 97512                             
               72540 99839 67520 44653 84704 31641 44428 07873 88263 94598                             
               39662 89216 94492 63439 91073 98664 32188 07895 01874 21359                             
               44156 41610 05345 34523 92397 96533 23383 56908 48538 18115                             
               57965 38567 71089 01622 79579 23780 96070 14867 01694 44929                             
               92588 77685 55328 30147 59909 93457 02772 32547 67602 53001                             
               54544 13849 65314 56132 78620 40207 13729 21216 16015 73063                             
               13286 78021 41779 62827 32215 64187 35463 78208 60445 70613                             
               50113 28997 40964 06089 93873 65120 55168 76479 63245 59773                             
               63793 98762 92062 09455 29965 95255 05261 08707 75943 38317                             
               91494 82363 50119 40863 33650 83145 05832 12984 61355 87394                             
               18564 29993 14501 46762 93069 82215 31875 78669 37020 01823                             
               03948 03350 02706 87036 53891 60288 23375 69000 35867 61860                             
               95750 91648 64676 66998 85318 99867 15816 82688 55919 56278                             
               60003 26106 50223 31937 21239 05217 72648 41281 72468 00642                             
               51278 16620 07903 56603 80351 42494 56060 13773 69873 95203                             
               22597 41818 53926 57832 76981 54472 34229 06070 22079 14935                             
               60513 85145 10716 64424 74282 23185 98268 31669 67504 51317                             
               45355 06195 32817 25815 09690 83167 06796 72617 91160 12647                             
               32849 99509 19176 11045 95305 46304 96389 17598 01257 68321                             
               37803 03678 11718 73474 69365 67740 48664 58290 75093 73739                             
               29506 13164 06795 15801 05576 92164 95456 16989 06177 67703                             
               28342 94958 14758 15379 80888 52315 28787 99315 17443 74505                             
               79871 53284 99913 43019 15698 77968 68384 96762 70354 99618                             
               82780 99357 74584 60477 39615 95243 82555 36236 02908 62330                             
               16688 00858 13322 94069 57116 84085 64583 68718 27334 91923                             
               61250 88631 52605 85434 96899 97377 92680 38139 16770 07506                             
               75399 17348 53959 96770 82730 59725 53201 55617 65817 36411                             
               21316 93762 90588 28003 68379 38654 40501 54711 28670 83655                             
               27969 32004 75478 68730 91051 47059 68812 01479 76954 76316                             
               00082 51303 38909 89469 22822 74533 98000 10186 83503 53333                             
               46487 28884 91512 56170 94198 87871 92351 52699 84554 84154                             
               33122 40838 31778 60243 34358 68867 55867 78258 07265 60368                             
               16871 97637 80442 74797 75056 01786 25123 61518 28511 43952                             
               93034 90110 04753 07662 05892 64753 07901 02008 60644 55505                             
               47978 37123 39476 04293 03911 50139 38683 88419 96772 76944                             
               55436 49398 74846 90054 96533 19942 37075 47913 98180 06904                             
               46444 25930 70867 12984 09866 24562 08413 05020 26142 74770                             
               25220 61683 28541 86141 10830 58360 73579 08002 15809 72076                             
               52547 98842 08062 14234 27356 24330 63602 24008 17264 29280                             
               80870 80189 88041 53835 32641 14299 20140 89217 94594 32795                             
               57431 93330 14609 81157 63071 11541 11843 07688 34057 72957                             
               19655 09840 51037 57489 11445 70856 64941 54043 73459 19574                             
               46982 55126 13638 71177 53607 58198 20555 31716 82948 69071                             
               11519 74213 24338 27669 33901 19164 27458 01472 08740 77242                             
               42679 16939 30702 37026 09149 24237 63448 05556 92203 15582                             
               94474 34534 96652 42506 38485 89990 07511 02361 03370 48204                             
               34730 89378 57833 25720 63496 30583 64749 76253 36657 51892                             
               69306 12297 20846 44697 55993 34262 32851 28247 13499 74936                             
               27806 28148 71582 92093 75758 16284 98981 67059 78181 82479                             
               76413 92048 00986 33209 83743 54079 25600 37680 65367 48286                             
               44683 66573 62889 78441 54018 93791 29134 27488 17176 56495                             
               62585 05915 04477 93756 26280 10770 32849 09139 40254 53129                             
               58112 27519 61570 36844 96278 41445 91018 96360 75411 67380                             
               70534 26438 44615 57100 60399 61576 91721 34596 10294 87956                             
               46217 53767 63258 95721 69006 97232 56627 04394 55533 61562                             
               08995 19257 03857 99260 07290 01500 24233 12780 32993 59950                             
               91747 20916 91590 97195 68594 42870 34311 67915 47539 70298                             
               86203 32231 93132 22665 19632 11895 82245 06215 37243 82109                             
               70483 21856 53460 56812 36036 92296 88587 50238 77538 03719                             
               14561 22547 67493 82335 16439 42357 87824 51092 58659 23983                             
               99122 36894 70155 22191 20140 23601 87384 92292 19109 71157                             
               19314 48370 43435 46137 23466 77478 39327 34031 07034 92592                             
               37944 28583 92180 32160 09594 18492 09544 39035 12571 16789                             
               09041 76619 88182 03196 02007 65025 78522 74800 73751 45078                             
               68575 25323 30586 02946 79184 98333 70391 13247 62474 84681                             
               90769 83407 76263 59501 73870 07113 39058 79060 11934 59654                             
               92164 82794 62619 92974 20492 70828 48175 13236 08623 52299                             
               37535 48731 33681 84788 75368 40918 21592 50184 47177 16428                             
               18281 37278 94491 22843 52372 26419 19214 36040 90957 96520                             
               41200 71951 14993 99754 98115 60511 65889 74225 01642 64639                             
               39849 89949 89100 52044 31531 48443 34531 52677 53581 81244                             
               08330 59641 83617 17663 99464 56370 15208 17092 39356 77890                             
               14424 86169 91494 38974 08513 26130 95815 87006 58272 80637                             
               81951 62361 90670 79412 90372 74120 93288 97988 65509 23930                             
               97135 78879 09915 35816 99412 84491 13510 74772 02772 77089                             
               97005 61922 72654 46114 33532 19087 39238 28193 37568 00548                             
               95602 90123 35208 94843 68618 70163 54840 04377 64180 97938                             
               02300 35695 13302 38266 09562 58200 70658 29230 71019 14146                             
               42127 09791 06430 87710 42905 57276 14591 65962 12749 80028                             
               06783 49538 39902 35559 34081 95836 70286 69491 47555 02542                             
               03497 95619 55463 64302 02192 62397 66464 60349 66410 76158                             
               32939 55900 49397 76393 33464 25138 16500 83387 58511 28587                             
               73686 63531 88435 02688 17261 82628 77801 44406 81331 42494                             
               85131 98658 84589 21171 12117 81395 02977 62075 41374 96132                             
               19787 82369 86782 26755 29772 95901 95501 14405 98820 70993                             
               65697 51261 05753 68412 69058 49025 17826 29832 92161 64929                             
               76473 12086 35744 93078 94873 87546 35949 53928 93892 55915                             
               96610 39732 27968 37767 46624 98745 77502 45133 61500 66020                             
               09311 49452 13112 73596 31715 92193 36751 97887 95808 08479                             
               29519 27097 19493 58992 19133 56469 35825 90507 67205 44171                             
               92234 70346 96050 85643 52196 65070 53102 89216 75899 58722                             
               51980 60807 81483 30934 54285 30517 13402 40209 81174 78924                             
               69483 82694 68791 45911 63236 21749 06600 29811 22984 08631                             
               22693 09703 54363 39608 05137 48673 17776 19807 73414 60827                             
               97340 29110 39024 49901 62905 10422 19306 52259 51704 25606                             
               93551 42102 21185 49413 15460 81687 49609 96707 21007 24393                             
               85953 03307 95785 03419 75702 05755 90875 63941 14076 90320                             
               01325 21549 03261 06554 46277 54749 15212 65712 14827 64373                             
               86576 69344 66667 57694 97315 38385 01568 40051 09580 38029                             
               36782 21821 68396 18737 56415 73522 90735 18652 21831 86880                             
               94526 97765 57157 24666 44164 99123 48946 67111 14098 57411                             
               24065 87720 97032 00195 94871 16290 08333 12169 85721 71945                             
               63181 57691 79913 74011 28040 81936 51080 63532 73010 35978                             
               68135 93233 76618 96108 87798 68773 59612 72699 73801 49061                             
               49322 28940 06798 38475 01153 54744 74072 28790 28764 66141                             
               53088 73619 19507 25479 27951 03193 36675 02729 02840 12278                             
               35137 23223 01478 79059 41909 72130 66699 97781 78230 50975                             
               99175 32984 24706 06532 99364 28124 56079 77386 01745 26408                             
               97194 28486 15400 86640 76714 68994 10010 01906 80152 73756                             
               11314 53905 28787 53691 95114 60726 36015 45422 93871 00909                             
               17706 15457 54964 21577 58131 99232 14668 63467 58013 20333                             
               76924 60670 16272 60202 10951 97884 22021 73648 06767 33006                             
               58387 70469 52688 17867 44697 08497 23861 74917 68617 68390                             
               95889 12691 84791 05465 22623 87850 81545 98898 42174 46615                             
               42222 43605 00209 03414 52708 55101 04596 39541 31711 82667                             
               50459 29659 85357 51131 79709 28932 12663 76569 64098 78626                             
               13457 26251 25890 12975 75297 18129 35174 75128 40955 80201                             
               47911 74993 83034 15038 73759 46790 37278 39806 87753 89115                             
               71128 97088 24890 95344 89100 56820 21684 07182 01544 54649                             
               93767 49161 08341 37034 63574 26917 74100 08394 77199 97043                             
               96432 00623 74468 41338 93841 10278 01298 03263 64818 73753                             
               78404 69420 94677 75761 65421 03853 11719 11424 84487 68009                             
               19265 47289 92372 84141 55136 51582 15203 24991 55138 89016                             
               84843 37546 22109 00461 40999 33699 27096 12784 88111 05609                             
               94226 49190 21093 48582 45829 35349 58980 99289 09379 21646                             
               50550 22119 12808 66855 40980 01499 19772 53549 13602 22978                             
               81412 30564 45814 50895 06183 02820 43219 35437 74315 13830                             
               41046 06915 48464 91180 86924 40044 57116 50327 44054 96069                             
               52306 76999 78871 75530 68222 33525 22221 39479 32243 59404                             
               18158 81976 04985 61418 99381 61663 50911 13623 53405 25228                             
               66077 12498 68515 80582 14556 57594 73567 02556 50130 52982                             
               10697 78922 24791 49810 05008 29572 10617 75291 20287 56637                             
               86603 18425 14821 08393 66981 67774 36377 64736 72615 21602                             
               20399 77057 72023 15687 80491 20324 43588 39120 05252 40183                             
               35530 33415 00521 02890 25184 95219 41083 80888 04165 27955                             
               20931 31844 40970 12705 16103 53951 97589 93637 99198 25312                             
               01677 98303 69602 60225 00856 38105 88508 40167 50710 59256                             
               32774 02304 13035 39538 06702 93326 65902 51176 75781 21435                             
               52100 35133 11470 64283 17524 57149 61078 15682 16060 40827                             
               81799 78900 82544 98083 02981 39343 00343 02274 05665 74449                             
               15132 74312 33487 83608 71425 77076 73979 45897 73420 38446                             
               74347 38480 96720 48253 80785 73446 02508 99474 15384 35934                             
               30707 68973 29703 31324 73723 58113 99062 74335 57312 38530                             
               46623 77822 80129 73413 11311 24097 88546 09567 98654 26583                             
               88278 60606 78592 14603 19386 26556 19317 99143 46227 20209                             
               71221 02365 38904 95521 39990 58719 47786 98375 12937 20438                             
               97654 85019 27605 25247 53037 78494 96726 09087 31304 58361                             
               28591 71673 65079 04045 06886 27698 40519 37095 19071 01491                             
               63048 32698 47350 47946 27090 95727 61307 07532 91366 21666                             
               76259 28202 86324 87700 66396 12002 05254 44304 46776 69205                             
               55669 02621 63215 87774 72487 37964 54163 50971 19604 54737                             
               73612 60924 31402 83095 89097 50960 70766 02659 93860 94523                             
               05159 13592 97241 43488 27336 00346 82346 53674 72243 58404                             
               45067 80390 06672 79321 53515 51800 93229 14378 91921 52939                             
               55188 62158 78072 78186 93782 50367 68349 35005 34494 07200                             
               89421 06767 03922 42575 60663 07470 63770 84541 96363 86165                             
               53528 41168 01766 63896 18407 83250 02043 10981 24094 68114                             
               68217 97433 84882 49850 29141 74334 56743 46293 83554 68988                             
               71900 58042 51320 01647 16478 59848 27865 56636 77767 09681                             
               30922 65687 12694 45781 53607 86287 14031 67007 62912 82859                             
               75935 16809 07675 43596 85358 16116 25073 90738 90902 15467                             
               59727 67131 25672 61692 34453 06861 85708 99455 36750 22785                             
               90531 52977 10058 68768 77391 58242 63880 59440 05763 41005                             
               41799 55288 73666 60917 11477 45883 72351 67073 65687 89080                             
               30939 35293 48441 88968 27560 82469 45279 20420 68559 78255                             
               01782 33028 62327 99450 59370 92244 39329 97362 22443 40547                             
               94886 73469 95943 86433 56264 83702 57371 54064 00657 16647                             
               52361 51354 75598 15989 27833 39344 98378 42504 41816 10647                             
               36039 95918 13990 09791 92484 41936 06017 53268 54284 14765                             
               45715 32108 71743 90437 34144 04775 76769 51239 99666 13217                             
               64138 86580 88038 79868 87683 00583 02604 68419 48001 21742                             
               33647 16176 73220 34927 40964 70808 19393 81080 78723 89302                             
               42091 94887 76675 81939 15741 75758 16766 09104 02283 12418                             
               69232 63737 95715 06425 77220 97241 94062 64919 04015 71663                             
               75366 57938 81917 45956 79233 60577 26856 29131 20508 25342                             
               07774 58122 86650 54975 84868 83168 95349 71096 55737 68525                             
               13970 98942 73505 41328 67372 13547 25977 46405 85665 17651                             
               89891 89861 68475 46661 99335 79247 67276 20977 92383 93121                             
               12346 90994 25018 37817 35921 45092 66399 74234 68099 75925                             
               14544 22454 07058 25323 96481 77010 90159 53126 41936 90606                             
               17485 00247 44619 09108 04390 41293 50169 65621 64606 47046                             
               34822 66452 50484 02122 63865 26788 01929 48111 43937 38890                             
               80586 47533 08239 80620 90835 88889 98718 97112 14183 78151                             
               34290 13399 08578 86985 79149 60814 49237 53027 50253 24964                             
               12544 52518 28014 48111 29563 90620 59289 43747 60760 79718                             
               66713 06200 68465 01020 03435 23064 88655 69778 17339 23277                             
               28619 49426 13793 18656 42060 84960 30994 21699 58204 50871                             
               66981 47474 66473 33938 22360 32397 83288 96200 47826 27721                             
               52564 88411 10520 50543 56457 09299 18309 00141 37931 30943                             
               66028 72462 61700 35566 92762 30557 65112 34074 64228 13797                             
               75541 61642 19311 93660 95840 70664 44827 08922 84424 66384                             
               67572 38048 81550 55501 77714 91608 58343 03095 22600 32518                             
               90141 18148 35030 56934 80724 13001 85076 93598 88977 07046                             
               69487 04454 34562 69972 77762 94346 84152 24867 98943 62611                             
               44801 56504 58190 54380 15994 95113 97215 94397 76967 70946                             
               37608 11172 10823 59969 91156 84273 92050 65970 06178 72586                             
               88959 09406 63973 06330 57641 18305 64419 50667 28981 41529                             
               64797 73700 15308 29710 60902 76679 88232 54181 24501 69226                             
               04235 59201 36198 97396 79581 67795 77776 57374 41102 86526                             
               73072 52640 04427 79495 91447 77394 56217 06897 52924 34070                             
               41959 48445 99042 17738 85901 56959 18494 25221 94663 12455                             
               41618 71722 21119 72023 42797 22793 90079 35829 14826 74441                             
               12364 74537 04324 39192 38811 88468 22233 20931 30790 93818                             
               68487 86316 48783 56224 34895 65588 85594 17025 75314 40594                             
               95748 82495 57171 02825 97648 71387 33391 89281 50044 41083                             
               98801 28992 29383 37679 20064 57988 59603 40294 53220 85538                             
               70924 94948 87877 19477 89211 58286 82132 83423 82467 96491                             
               77272 83701 16011 09675 06328 08787 92917 77081 35534 69088                             
               81264 43386 02760 09858 54770 91443 41984 55083 98359 71751                             
               07856 65122 55243 83981 39426 15939 17063 30864 27094 32731                             
               83660 89754 71843 35753 44038 72182 50821 81173 55083 66705                             
               28339 04755 19594 85376 76326 01183 90196 59133 93338 96849                             
               50695 52431 36154 98905 51436 92424 03030 28400 00223 33003                             
               32684 70311 35378 99025 08060 98277 32479 81013 78943 56861                             
               21365 75671 42481 09137 14946 92504 45681 82421 76396 71864                             
               98944 69966 76293 84741 14689 71421 16253 09595 10146 79870                             
               20637 06562 38367 48274 22886 34324 36524 93112 98045 79980                             
               05550 18041 18046 97205 60200 65400 31298 73035 13574 28341                             
               93169 68565 85180 81430 98895 03896 46597 12515 95507 82626                             
               43794 63671 74312 76210 60171 14046 70512 13487 09393 62407                             
               21510 45706 72060 92215 60468 82345 15298 27023 46690 18046                             
               59312 09023 59373 95976 79989 58548 06307 77927 61579 97347                             
               24074 16461 38556 43439 71321 49430 90687 10362 41649 62160                             
               80392 68627 47710 87627 46455 52198 53039 39939 93137 17798                             
               53223 01425 38768 89860 32931 08651 12874 48939 50395 07675                             
               15897 46388 25892 73856 80578 53122 35795 16519 99066 75272                             
               38750 13803 04806 94547 85544 47992 23277 16117 89229 36652                             
               30644 31828 57063 79875 84375 31558 10828 68955 14904 20535                             
               47090 26797 92375 25421 13961 75380 07568 96979 05932 50584                             
               31025 42138 03331 09687 39483 43256 07973 01862 23633 47413                             
               51568 96957 16308 33531 78436 92910 05131 90136 29112 47067                             
               18706 61582 76385 01758 00401 45542 90344 99414 08794 49584                             
               33988 07544 08842 39634 15969 98898 42834 38154 52022 57110                             
               95191 54838 11651 03144 90180 57635 51631 62855 86594 16922                             
               62892 20976 58474 80635 82335 31840 75924 63161 46167 82152                             
               25090 55822 86286 26134 31356 91747 96308 38333 74831 22956                             
               18777 54422 12182 92456 30135 95310 43873 09181 25002 94851                             
               90885 58562 26340 76487 69961 06566 73057 49133 81457 79999                             
               61617 17601 48851 30891 43208 27899 73971 17777 03049 92700                             
               97012 61686 73387 67298 75400 59646 56739 71371 20566 63524                             
               60961 76849 56689 57010 72691 07216 90484 88556 20733 18543                             
               06074 43088 05945 57579 24034 60300 99199 17196 88651 32335                             
               33960 34521 72473 38684 45063 02047 12200 01097 30245 87049                             
               14994 66330 35987 79613 99253 49534 94243 14589 58923 96099                             
               61603 37788 65412 44776 37465 11717 46159 99873 62770 81196                             
               03925 45345 25869 44132 65875 58599 27080 97794 76502 06812                             
               78497 55884 73462 33579 40620 56720 10385 68714 22356 07849                             
               15720 19003 95975 37396 01672 22721 03551 47460 62309 75744                             
               56489 89882 24883 62044 54667 09679 43442 46396 76773 26474                             
               48785 12105 18402 49224 93831 51561 79460 44559 58457 42445                             
               27452 04048 02878 67387 88214 80711 83615 59894 40642 90064                             
               71129 84363 16991 96049 33178 82982 35307 27122 72960 47351                             
               15542 92837 36094 97604 55929 96234 25528 76880 71172 62331                             
               88404 93931 19016 28053 63966 71684 66752 63886 06566 84579                             
               74237 22598 22826 92488 94971 35306 87026 04021 21806 00232                             
               23775 27051 28847 34442 72034 89249 86109 83887 69542 36454                             
               48484 12051 21721 41691 45595 12540 44112 82638 24081 15890                             
               92412 70373 18901 85942 19170 37193 55188 26072 21203 16334                             
               07242 40594 66800 71398 66214 21665 16774 58292 93038 56971                             
               78425 27511 58186 78546 56468 99554 94799 98001 90008 71306                             
               16757 98502 89604 36183 78259 78792 13494 25862 76462 69580                             
               47050 06409 23757 67606 74506 86605 41228 57689 57045 21299                             
               49871 18087 56289 17593 61129 29454 67267 76665 93300 32740                             
               49909 29058 65396 06314 73152 46231 44997 57653 10693 36194                             
               51677 49876 52471 56045 42554 08475 20930 99198 31538 78516                             
               06140 40147 18828 27647 58812 44553 32227 15228 05301 77479                             
               06834 72871 73631 67576 54680 66732 44633 10050 00868 36843                             
               67225 16200 87778 33818 01930 42353 73898 98226 81671 56015                             
               78856 52954 03915 22025 51191 03876 93232 16559 60458 69131                             
               98317 01763 40197 82324 12555 18855 33350 39972 32183 82488                             
               16684 88495 91109 84200 05774 71077 36455 37759 67120 79691                             
               33887 24207 88955 82628 16789 19437 87304 22812 18351 12088                             
               48862 07240 50624 44599 37250 32839 19621 35201 14213 19064                             
               90501 63702 52321 42553 41927 28832 40736 94134 73637 09998                             
               10610 03518 56304 91238 31672 01974 37743 30196 56573 18305                             
               44531 79934 14540 28445 43094 96379 80915 03968 49334 89235                             
               74135 29851 00851 99164 56716 86772 30826 09042 41796 18286                             
               07629 22120 31821 28167 29206 64883 40907 78240 86320 97431                             
               77469 82018 33700 39199 88657 14446 33161 42809 93176 83079                             
               57761 73888 54047 30987 71056 79657 67870 66721 20512 54091                             
               72151 41640 09145 32488 97269 19909 34441 73231 14620 11487                             
               08625 09582 57522 63425 99346 79300 16440 29759 54821 64907                             
               35082 65348 02532 02406 58942 13939 35504 41278 12845 85783                             
               25256 63552 09060 45118 25464 94774 12534 52829 55420 64682                             
               14835 34590 77329 00400 93327 69814 06520 59967 57178 21709                             
               18634 39004 06741 53768 42838 08345 57874 02988 55145 65435                             
               07769 05149 10889 07310 43841 92451 80426 57967 22257 08823                             
               77117 07951 67639 13233 91660 48952 70540 66285 71837 11240                             
               84224 20436 11721 36742 47327 59140 39434 45575 83962 55226                             
               17491 78850 57828 43828 94808 25562 81881 30185 74434 66365                             
               10140 77602 86066 92062 63181 45916 77414 79614 63882 75751                             
               63472 33474 84993 38892 97766 25078 35074 00081 54637 88277                             
               34385 60557 36616 53556 57272 78638 45969 28819 42622 87678                             
               84453 59580 98950 56687 70367 26355 55671 63949 86945 62075                             
               37133 78937 01164 97335 60960 72840 17016 66279 87280 03019                             
               52325 30948 70387 41698 53158 06900 89416 44210 84893 97904                             
               59576 77101 64011 72537 50516 51413 19679 40480 63385 31457                             
               99173 11340 43138 14381 56214 43803 27667 00858 86279 17926                             
               60304 02195 97942 88393 17272 54180 34317 01539 26634 32988                             
               83661 83952 80311 93436 43198 35472 65729 74927 25226 84400                             
               68658 45374 19578 87722 23804 78432 51487 84168 14714 84334                             
               98928 32911 49569 39661 58491 95733 64408 86345 73854 45446                             
               30364 95229 65920 08410 66461 14479 28667 73935 84542 48188                             
               79793 28392 17890 35451 80204 96850 10099 25254 61409 00035                             
               65766 67471 24897 59442 89559 65284 02539 08399 65225 59348                             
               92095 91904 51107 39000 06876 63040 93722 00838 03634 08787                             
               85972 99967 77730 63044 21541 64246 39656 89662 22056 66821                             
               11968 43320 38551 77282 10681 41035 53823 36742 00216 02137                             
               37217 27155 35926 39509 28427 30184 33300 09913 51853 95933                             
               27876 56203 88097 66851 14945 99256 54136 27135 83104 62412                             
               68769 72921 80715 36252 04858 23594 79341 16521 54969 19526                             
               23213 73002 61937 76547 78798 32170 90947 92475 23525 81415                             
               44674 25996 37734 27670 48058 93235 88913 68243 54262 52304                             
               22278 56664 48394 71154 96765 71373 50539 99046 30498 20043                             
               44671 86938 44785 37366 85005 27116 20722 59108 56357 07379                             
               07444 80243 90069 00075 46110 29987 62059 31330 98669 21529                             
               24566 00750 95471 59296 48151 46933 40793 11537 75509 79090                             
               40335 81057 13662 20095 39749 31910 16099 31267 88274 54857                             
               31407 14214 66516 79409 19983 10025 42470 65265 65365 41156                             
               44811 30954 31761 66284 67540 02498 44322 43482 45039 89910                             
               93744 21990 61600 24331 91742 07924 84485 13628 28963 74217                             
               34589 99262 11909 10112 33761 22234 80424 30519 92842 30930                             
               32307 90549 29500 88668 06620 75531 29902 63772 02250 61840                             
               93303 09971 33284 68823 23601 69945 47768 47167 56933 59828                             
               61401 73995 39369 17484 82740 50017 93761 22355 31464 19038                             
               39815 19717 76274 55155 56459 07134 43980 87927 00540 65934                             
               76343 60856 20950 45512 36232 43477 32210 33293 89664 42377                             
               36599 68130 15283 81445 08876 79992 17837 46685 82661 63717                             
               47235 15878 02544 19677 49721 18434 30973 19130 02740 95719                             
               23996 77109 10069 57193 14905 40637 58751 52655 69861 25080                             
               64415 05918 04549 56466 56537 80220 75933 02570 80201 70685                             
               88169 00583 15934 44148 76742 14170 44163 71658 59892 77741                             
               05861 23970 71377 10740 35961 25326 13658 09762 71069 85871                             
               95551 51324 58068 57971 43413 63079 15156 86789 99929 46316                             
               21895 50398 49554 57525 39819 09766 34689 81872 90178 13912                             
               51625 56371 40367 30551 40350 25577 75613 97543 07260 37617                             
               57476 15451 44839 13355 95732 26525 37383 46528 85196 50430                             
               66812 17636 84044 72019 57650 29427 35211 01467 25224 96769                             
               57410 52092 16145 48732 57345 06151 55147 25687 39681 63944                             
               37324 79242 16323 96534 29847 07818 41581 47383 72213 85682                             
               24774 53237 89096 68254 96836 79553 54852 81489 32492 90796                             
               73749 28161 54559 00908 64989 68849 71944 74266 66561 60445                             
               27885 72441 97027 59992 60025 67073 39258 26666 98849 64162                             
               35220 79723 56070 10114 05855 95201 79522 74820 35116 49219                             
               76109 32110 82232 40659 29394 82881 11254 51062 63374 91208                             
               51949 24543 29006 28760 31107 75533 15059 47830 38318 57169                             
               09833 28289 15283 48146 65328 68778 82726 40825 40415 17450                             
               43963 38441 24570 62581 29198 94187 68742 28347 69600 50021                             
               74910 46101 15228 57983 20889 96438 35867 91844 21965 42384                             
               68838 81907 55893 99006 02845 30757 02852 09759 11908 92784                             
               76889 24888 78475 25290 50446 02190 69740 43983 98495 75453                             
               56253 40690 13888 60881 86880 46079 70441 96825 59168 45217                             
               35344 37123 49189 78773 57452 43365 89909 87677 83009 46399                             
               12165 84050 75385 72390 87298 56213 40370 53734 35508 40595                             
               83606 70157 88995 18345 51708 90296 23947 19460 33630 09084                             
               00439 42256 23861 01249 74305 20973 73994 36232 70042 99338                             
               84231 24854 28820 92906 11400 93025 70639 47972 95037 02820                             
               34720 29887 28092 66231 87177 98573 23830 21907 10037 54065                             
               55488 70190 10667 59878 70244 86775 15682 77024 04067 60285                             
               38375 66484 49009 24090 33761 42947 49500 77673 80268 87638                             
               29207 17869 52152 53030 75030 25261 71709 17276 29779 76088                             
               55317 71146 70110 74930 92405 45310 71282 28529 21379 10758                             
               85281 06016 91599 10172 83900 55887 25438 03084 43309 75030                             
               19517 32597 71700 50113 49145 46514 06563 16643 65063 30667                             
               33140 06024 96519 37269 00652 75905 99764 16096 37826 44150                             
               16018 81316 94308 71727 27967 71773 59520 64837 28863 87537                             
               35514 91602 43281 10547 65400 33598 63602 42137 43893 17587                             
               91275 15272 61564 97715 96935 64310 59334 83528 38423 60088                             
               94792 34090 00784 43156 46883 63534 47298 12967 10550 28346                             
               95610 55840 57868 91706 58019 19498 67251 85183 09988 67010                             
               47287 13114 75944 67929 06761 69971 46423 09461 47437 66022                             
               65620 35454 81156                                                                     
  19813位                                                                                             

作者: zhaolu48    时间: 2011-2-22 19:54
标题: [原创]大整数的乘法

  MX           SZ                                                                                      
  积为:                                                                                               
                   4 60735 36210 95498 99064 99693 09695 08550 98125 80701                             
               61630 23618 78498 18673 68068 46692 82318 38628 37374 66572                             
               35705 20101 52586 72472 74415 59557 58150 96141 78948 49209                             
               26430 32442 30561 10308 34876 68854 69693 66496 24847 84124                             
               56137 92198 52953 41261 32705 25585 64208 12545 26895 94938                             
               89819 65557 51846 70951 74933 01185 37880 97675 70622 50061                             
               00978 18097 48085 56239 43965 61500 85166 67455 99889 25519                             
               59127 39253 09683 05959 76389 96783 89686 34341 77075 62650                             
               58437 06982 90967 73815 53585 09469 45274 07712 28895 65142                             
               60845 95328 44042 78668 29995 16020 14328 45787 21920 08078                             
               28308 10429 43206 07135 13622 22020 89384 38694 82965 53766                             
               00182 23607 18057 33316 17094 72997 56077 79812 46984 04829                             
               18503 95224 24816 48827 34013 23904 82270 80031 81996 16499                             
               30229 39142 94314 19137 76294 47004 69177 19223 14813 07944                             
               12594 23556 90192 07127 74753 62763 27202 31300 78120 34753                             
               51841 00028 96074 59637 42321 11014 46554 13442 46560 75650                             
               86673 13851 32083 34990 96182 44073 07894 81623 99466 64814                             
               54009 12159 82283 24472 67012 50458 66362 21293 37436 92925                             
               90227 40814 66927 18663 51193 23197 46698 92728 73090 80045                             
               36112 69833 37090 55841 62193 07319 85922 49794 65425 98106                             
               46293 65124 18722 64113 07397 60780 33429 11117 38997 73954                             
               25054 30313 12419 68339 66579 12298 54585 30262 48400 54698                             
               09628 28136 39459 06120 74032 45786 20184 27939 71416 65754                             
               79435 52511 29977 21406 23459 02944 44660 11727 71503 80510                             
               69162 01035 16463 09065 22824 26904 36800 99608 57936 10453                             
               22649 41942 57006 55144 34641 48140 08650 28107 56064 04813                             
               70225 17381 79496 32328 19344 41434 63461 17877 79352 93513                             
               06982 23734 32884 88259 49294 28773 08404 09724 84426 59748                             
               46693 72850 16715 12292 11470 62639 86383 08836 07010 00826                             
               76508 57353 77286 13657 85886 02480 91759 20281 66863 17453                             
               32203 08874 34215 06588 31336 42377 79889 48486 75759 05407                             
               06989 50393 30413 59401 01125 69684 17476 12215 78636 64817                             
               86264 56777 27662 24987 03037 06988 67376 21658 49203 10847                             
               30184 91375 71164 07046 59229 93045 19647 16444 56852 40190                             
               32329 76815 56652 75879 76980 66886 35010 03074 73737 48158                             
               04143 85517 38344 06069 25806 30617 26534 02958 96685 33882                             
               04116 29645 09003 69694 16248 83149 46127 43128 53020 53383                             
               72343 45764 98997 52382 43136 91002 35470 50307 24806 73016                             
               23021 93903 31831 00269 71649 28307 52474 13533 84108 14206                             
               40929 52703 64162 92021 11136 18845 85071 82770 51018 99233                             
               16058 05954 83308 61359 16003 03815 41933 29857 18559 90244                             
               41611 13147 86377 66680 25295 71388 24118 07858 34494 67190                             
               35903 93260 56147 13320 76395 54694 35322 18950 81910 89164                             
               56427 42502 06120 04060 06662 94638 63855 62585 55264 33303                             
               57954 14101 56271 24275 89214 07917 50125 41361 22122 18664                             
               25996 47935 63545 95757 29533 47880 04645 42074 89814 87970                             
               45441 08959 45312 98099 57185 93939 83084 89161 15612 35616                             
               08439 07402 13216 99345 32534 48124 60503 94476 98302 11852                             
               30523 87324 72068 85089 39425 77943 59046 94767 90726 93392                             
               10015 20998 37402 71629 05413 35013 71586 25139 18277 58076                             
               04254 79315 60493 90322 32795 97367 72923 14799 43217 43769                             
               43378 18297 49774 67267 11418 24663 64859 83262 72259 11998                             
               01920 08533 96292 50901 38748 22330 52471 04473 02156 33961                             
               96785 91722 03562 82806 91468 69825 13733 38661 10231 61276                             
               84355 67848 28788 71753 04750 64293 91034 13960 50975 96715                             
               70303 43437 74648 39067 37161 56170 38724 74483 54414 71579                             
               17114 51803 41947 27338 22055 66969 64034 81893 97106 55057                             
               79325 36151 84156 00767 20532 27100 20831 29609 58312 02720                             
               90817 41267 75295 22733 37946 57959 30489 21038 19126 03577                             
               31074 42998 33345 83292 88149 74384 94103 35804 77895 13620                             
               98871 72128 56385 16304 88849 57350 01516 95001 97852 06084                             
               06048 95169 30331 57130 74393 63850 60498 90623 49807 80424                             
               53945 56193 79553 20977 01122 02229 97736 62311 58222 94522                             
               98520 02884 20910 63403 53198 18855 20314 41883 32858 70896                             
               91117 95324 53965 37513 20168 65391 87830 71408 74550 22142                             
               57453 89710 25976 95155 70975 14984 13222 42953 74324 77667                             
               52975 32406 91918 34142 11185 79960 88874 48652 95582 90789                             
               81977 92025 85678 26108 33364 44901 78699 32216 61214 22874                             
               57388 58762 92057 60915 50880 31823 84506 28312 21666 12634                             
               18163 18806 63424 46870 20819 58106 90374 59959 96471 66594                             
               55559 16816 68038 21337 27255 35138 72686 92715 19308 83276                             
               79131 48147 50302 88281 46739 68063 23711 41756 21772 54407                             
               60485 78968 96028 69958 19392 19452 01505 03829 88123 05393                             
               81340 79698 66363 76833 77216 95987 56258 79384 65371 53504                             
               27643 82554 47653 90395 74826 87683 01725 00195 93158 91386                             
               23701 68865 41766 32675 37854 50325 94454 06169 73651 81166                             
               41819 42930 40715 13865 04091 06686 49039 61057 56960 04648                             
               59681 45432 18030 03523 34142 05174 17792 19805 48168 55332                             
               03481 18944 18930 00708 10561 04116 84153 53135 43217 16240                             
               83747 73931 91088 26662 55813 56920 00768 99483 61993 23456                             
               35377 27768 06500 34424 48377 79466 22944 02084 36148 39550                             
               72225 91155 79525 83065 81256 69210 47943 05387 48580 64888                             
               99836 22456 73099 02097 58086 42421 33271 01836 33384 93859                             
               23375 35074 68713 00336 52460 80138 17633 40584 97546 61851                             
               90548 63426 92878 61064 02116 72239 10409 35103 74419 58247                             
               63687 78006 81298 84633 20040 99264 00458 53264 30755 07101                             
               88382 43664 50055 61751 57249 02236 95922 09867 18803 88716                             
               27461 09237 04593 66211 69266 31743 92025 10217 81911 12181                             
               46836 36589 00778 78773 51374 09311 41933 59925 28995 29152                             
               76821 01931 57966 83302 79402 05804 58886 36079 77491 56546                             
               78796 77865 47812 81027 84157 17783 44238 64646 36270 79358                             
               92196 59707 61869 70480 14850 90825 31230 72410 18681 28187                             
               19700 14048 27511 70134 92057 35098 62696 60872 15865 98498                             
               87841 12956 44028 27784 25421 04554 40545 67065 50937 94683                             
               73438 64911 43846 30656 71821 70878 65419 87861 86803 75169                             
               48822 43973 08238 57877 24927 67410 66538 40779 07934 54111                             
               18044 15171 17457 63367 96683 06732 14003 28596 10134 27245                             
               73368 74390 94757 00243 50585 33527 85786 73979 09526 72873                             
               92231 37913 31480 08377 27493 13810 26021 92424 25094 56817                             
               59355 38678 22999 58094 94916 59273 11064 31645 37883 45121                             
               14559 65643 72000 63589 26691 76232 16148 97682 55634 90355                             
               96971 85857 85474 65818 69433 32226 39154 42620 11023 33642                             
               74950 68116 09478 67634 54746 50023 94796 42701 20954 66822                             
               98101 77454 68876 47059 49711 05778 83750 61747 06545 94248                             
               63213 82008 17129 72255 50969 43219 29034 56561 25519 40062                             
               78200 59361 58435 35582 23425 75785 68208 15188 88743 80513                             
               56962 59597 42711 90627 44247 73068 89051 27241 07560 38342                             
               83055 59676 40815 67306 17902 39264 59334 71219 13353 13068                             
               85712 85177 70270 27828 82903 63179 80687 92313 36109 07249                             
               93218 45962 63925 50844 94945 50808 84632 84271 51705 53464                             
               10088 54476 22850 54614 45945 15778 85087 85630 57863 30858                             
               08937 29378 87479 14525 75995 85876 40459 08790 72292 39538                             
               77961 68808 89181 73179 73600 63252 69727 79722 28394 28957                             
               71250 07828 19480 18659 32262 19545 75906 40589 48663 40142                             
               01485 80266 97843 23196 82647 31839 60604 95875 02366 38280                             
               37292 88972 88091 03438 83835 70380 11368 13770 67597 23726                             
               00508 81315 22463 41726 04075 65182 23030 57209 76626 16657                             
               81404 40090 00743 71035 59416 19071 71785 73582 28378 95537                             
               44694 60903 50795 21595 30117 73224 09495 14892 67618 85106                             
               98321 18042 44181 55523 65609 95985 05164 74411 40213 76819                             
               50452 39272 93101 71059 88156 95943 33020 62624 91359 27700                             
               16225 70329 53881 78184 72394 18204 54783 60553 48096 63465                             
               47562 73214 94844 92598 27229 14025 26557 46546 53661 13089                             
               58190 33637 66362 67304 54336 59325 81793 69454 38256 55081                             
               49053 75718 62102 45151 64001 98401 21225 40491 68502 15648                             
               06839 92985 57343 28428 90692 69090 05838 74814 67793 05809                             
               92569 39952 96123 67443 13129 58526 33213 53639 54032 44846                             
               32825 05550 50852 40907 77397 95879 99734 51840 91509 09207                             
               52187 19686 46356 24229 60512 84742 38828 44089 48773 06990                             
               80664 77294 47690 86576 38871 38644 47327 47852 26910 91858                             
               31406 51694 00266 06732 06187 81234 12822 08745 59702 38898                             
               61781 91668 24773 14000 73514 88659 02376 76500 77939 37658                             
               95059 96816 98947 12326 02796 48136 52020 77661 93253 15451                             
               22084 83864 14086 53534 46355 00459 64238 56338 94119 54170                             
               76512 50836 26460 34880 09907 69127 54546 44437 08881 84239                             
               94213 70548 37160 22424 88249 82715 13245 63966 71668 46879                             
               27547 10001 46344 50626 74147 40604 48122 49358 70347 84971                             
               50794 45119 85218 07247 29424 90326 91529 41131 20533 06490                             
               20750 27215 13041 77751 83954 01106 65961 70643 91818 42088                             
               81131 74568 97422 37485 62223 65131 69278 22716 57081 67026                             
               92296 17007 82585 04154 17935 48645 76553 22651 97155 13096                             
               39608 92099 83594 74209 02922 73559 72435 75464 37905 51626                             
               66877 09242 65960 85768 43912 96533 90250 85761 79110 49219                             
               51844 40040 07487 41952 31191 25536 96426 17448 13524 64334                             
               45708 66521 51639 76734 77992 80528 78684 56668 95453 18345                             
               48468 55079 01466 27841 23271 34087 50999 93665 08442 95899                             
               54944 06201 23877 92507 95488 54682 20982 72182 27379 28953                             
               03550 76342 56710 58822 21799 71707 85277 86019 82411 82664                             
               37447 49793 18762 11816 23670 40652 91390 58956 57815 13393                             
               89936 97528 83371 38607 08856 54775 57779 18788 27983 03081                             
               62194 94145 99394 02615 03979 15408 01507 56220 92559 42606                             
               88768 38537 95486 58376 01827 55970 63825 76140 29138 85957                             
               68205 60735 48317 20980 23116 12460 81351 14527 91359 73305                             
               04124 08508 69453 63436 76648 43868 93873 07061 58312 43705                             
               37897 93221 18111 27000 19451 48562 11985 54166 39564 34460                             
               32933 57445 70500 45494 62947 56049 27127 27941 73409 94587                             
               34202 84128 71029 92204 02607 37540 69700 71290 57309 50444                             
               91753 48491 12106 27285 67918 88899 67446 02990 11078 14864                             
               08633 28740 08456 78604 51250 99049 85518 33270 06939 84970                             
               22493 66058 31167 28583 16585 34040 80610 08746 98773 07803                             
               82486 97673 91248 82413 75508 54477 28078 97288 95220 91157                             
               60121 33044 46255 54805 24452 94252 08508 16404 31358 45944                             
               49757 32745 71414 71753 96223 56678 07767 65228 17741 88697                             
               22825 44145 48191 00591 42435 98407 74787 06429 01127 01605                             
               82163 81096 60909 42543 03819 46198 27956 70251 80818 51624                             
               76615 52092 94435 14291 16627 63074 89970 18289 93925 75738                             
               44141 67139 66931 08030 57242 33970 22558 91461 26107 68200                             
               02996 78015 43159 17683 90525 37091 93890 40242 47326 68198                             
               20577 80201 44692 85889 86944 90061 67658 76336 43840 81588                             
               29881 01824 07629 88824 98275 71667 75001 41899 13471 59235                             
               25597 57725 45247 68448 61218 42805 42648 96211 38198 31432                             
               17305 45338 55681 81320 78104 75247 44927 45732 37807 81302                             
               13360 41856 28862 05499 35659 30207 85208 73518 19796 29161                             
               79956 53551 68529 35326 66775 61552 65085 99596 57151 73708                             
               78322 05666 54356 82406 86823 76918 02024 33592 55203 35450                             
               90515 07364 54376 35483 91532 25746 17634 56717 10439 61799                             
               04141 41635 17129 89693 41292 21065 65767 41488 43339 53529                             
               64650 82045 53760 55474 85792 93344 16287 57876 38802 73796                             
               32191 68998 88305 44917 28065 15927 69670 24224 04383 84546                             
               88373 18630 17137 87457 19111 61278 55550 22767 90335 52257                             
               79100 14703 16268 81394 28527 53872 74907 76598 00836 54962                             
               85299 77072 25633 66609 02438 05002 30538 73042 37257 84728                             
               54105 73398 89499 53661 42499 89916 80001 87680 53921 94787                             
               01290 94775 78733 47094 50543 77308 14983 04985 68823 48234                             
               93382 42357 21210 34515 95604 65221 17728 84975 18077 61932                             
               81429 05640 88331 36209 26549 69679 80508 18708 86597 21514                             
               23402 14267 11845 34535 64516 35676 06134 83725 05216 40228                             
               29923 06230 39697 00970 99178 67670 31388 88363 32904 66332                             
               77240 20435 99229 42001 17101 51257 42654 52688 19165 84133                             
               72854 48369 97928 55607 86969 14689 32479 97912 13313 25396                             
               00393 11119 01980 71931 27672 32944 15651 94477 44118 23136                             
               22841 39902 28699 59093 10937 80792 52276 45079 31498 61083                             
               74718 53591 51833 57648 51245 38371 66951 64643 84891 93955                             
               94014 36854 35139 02530 16696 66538 77248 76213 19666 53789                             
               90675 22566 84735 50681 96769 74461 22253 57647 13955 76780                             
               53423 96715 44781 86834 79324 37876 52279 12765 89536 64285                             
               28567 23341 74480 84107 61457 02032 91569 01552 93407 48926                             
               43700 36384 39587 33468 65297 31872 86817 63191 01245 46422                             
               90025 43841 90159 07490 45731 99499 46046 96015 61375 71243                             
               15211 38398 65685 94017 48972 77103 20815 48357 27999 98503                             
               87746 83287 63244 02647 37618 11045 02543 86437 27828 29244                             
               23436 52260 90509 97021 55658 30661 46645 92818 73196 01071                             
               47714 07026 22729 57685 65132 49340 09079 08089 89870 42229                             
               48844 04623 10916 99322 77633 74737 15902 35404 72228 05020                             
               58345 99005 10195 04624 39345 11973 14589 84551 49006 92164                             
               38863 12989 12387 16240 41380 55899 19516 23922 62338 53432                             
               95632 42138 61588 73631 85211 63241 15384 69515 97130 90600                             
               06687 78554 83681 07221 11011 58533 49715 09967 53371 67801                             
               48221 22741 40349 76081 00487 02255 84416 98269 85258 83856                             
               79987 08381 05509 43086 05805 08799 71217 27523 85889 02173                             
               94700 38103 37510 52174 71948 67751 17573 73705 70712 62571                             
               07593 63482 76951 38453 93676 52083 19814 25911 47791 25204                             
               88715 02631 80432 38297 74624 69812 82775 89503 41291 88181                             
               38571 03748 22625 63464 53859 54954 27828 09990 62613 20407                             
               01032 87954 33338 19402 82149 63633 91854 86298 79154 24376                             
               72677 92604 16905 62767 64121 39520 73989 63955 27140 13155                             
               42087 75502 93011 89421 95812 47892 16443 91102 19492 27337                             
               51558 76600 98034 38205 53059 45327 75036 27579 67272 07680                             
               05147 76567 60336 88552 44807 76339 55854 38677 10898 80453                             
               83926 35787 84816 82702 04586 44448 77536 25494 20219 78163                             
               82454 94237 69945 66828 90704 91264 40681 01921 32526 24768                             
               72931 18481 15128 50626 95346 45174 97043 76166 09911 89287                             
               04495 23482 40725 61794 55327 23534 23880 16195 74889 35476                             
               07873 62370 76217 97478 79176 86804 68688 77415 90257 43606                             
               27465 05393 26200 05342 05947 58966 57669 80891 69864 94147                             
               41921 45557 84932 47329 01082 39863 93734 28647 24186 45605                             
               79861 16510 37365 85108 00323 71337 40652 30160 15107 84155                             
               18364 80701 22994 78767 02188 18289 23595 20524 62699 32274                             
               92594 81697 03874 78494 66373 89210 53371 57467 52597 24299                             
               53679 01774 37551 19421 03162 32648 53487 00778 18801 46882                             
               30827 54270 76676 00602 61022 98255 55409 65909 44012 55797                             
               84159 28728 93752 65089 29653 61643 18276 98319 46283 89622                             
               06435 43037 86695 86976 00435 66324 24524 19155 40835 16596                             
               88039 87693 06404 08272 99212 13878 26704 41667 42770 74793                             
               96013 61949 22531 85633 99098 43385 13570 79912 85684 66425                             
               45146 53268 00974 50343 62932 99414 02745 94985 01011 33786                             
               19343 35908 88858 17361 78776 16176 76212 70241 94369 06114                             
               25954 31981 07683 94791 62137 58695 70329 83225 70966 24933                             
               46176 98576 62911 94634 99908 92676 52165 38778 40219 34767                             
               07137 97950 26613 92121 72734 12810 75526 16608 13683 92732                             
               66133 10637 37280 85508 10603 10533 50142 66128 34641 77392                             
               17856 98582 83742 80575 44498 54172 23635 18603 07103 71843                             
               80175 59399 93361 37192 10162 73695 56251 03857 76936 08198                             
               40524 51741 23135 52863 39939 73754 51934 06337 85245 24797                             
               99467 70458 90952 80195 70110 90973 78604 42375 86966 01734                             
               71807 18197 35275 62606 36099 34913 76977 54575 28650 76867                             
               31416 32944 26037 05154 90762 65969 98515 25732 47517 46608                             
               61860 32176 55665 94219 29637 29980 39272 94672 56409 07331                             
               77327 33241 57245 29405 66398 51382 55042 99663 98292 20966                             
               75956 14692 69148 66556 75105 17422 51231 18093 83429 44015                             
               68879 17625 34804 30861 21349 85996 12202 89371 34806 19264                             
               25660 57109 62274 00513 23466 94333 58581 46815 28304 62596                             
               95485 33858 80304 78757 60159 37447 75737 45914 76046 59183                             
               98373 13341 91073 19798 28949 14771 42942 83867 12606 79983                             
               98696 44111 08295 86272 51748 00968 83850 85388 71332 67663                             
               28332 23638 46270 88188 06005 70895 91625 41876 93104 25052                             
               54366 07754 33128 12442 65824 86268 59923 71801 28284 61360                             
               13125 56395 68140 13815 95801 92427 54575 54008 34714 52391                             
               58096 75936 73383 66753 95782 98685 42017 07662 39936 02690                             
               24269 61712 19977 97229 39048 84432 67563 06928 89290 97788                             
               92074 23278 98971 17379 68152 18108 23277 70059 35594 13769                             
               46386 03353 46752 88009 33274 35290 92296 27579 58600 50577                             
               92965 55198 23264 18397 74835 37456 44655 64390 26042 97235                             
               72513 57146 30721 73425 89811 92126 35718 45803 28341 74203                             
               29770 28564 48372 15359 66162 58217 98981 03407 06553 14922                             
               15722 79639 77947 41225 38222 79074 61481 19761 30095 42380                             
               13143 02670 89584 70404 56911 46543 57050 10885 96214 98653                             
               87873 74517 48661 74289 67504 06632 47597 83287 68583 96647                             
               21141 91837 99054 96878 64250 42540 01100 44778 69331 94942                             
               53693 73892 83642 59178 18820 66689 21686 05046 90329 76909                             
               63095 28147 35018 81578 29494 22833 91805 92965 78476 88224                             
               75390 87694 37609 56026 41509 03461 24126 40144 71163 57326                             
               94920 01487 66980 48813 39126 53292 66541 00275 14584 49092                             
               08167 19415 65227 49279 03193 09842 01048 04666 39169 28836                             
               83075 98746 60799 03844 50626 11709 33173 32540 91246 61257                             
               44453 41913 07277 03315 30974 34448 97526 38216 38052 34164                             
               92530 20072 46965 67345 08102 62941 61998 08746 21642 31159                             
               27738 64372 28265 39262 65886 58424 19169 58106 81647 67623                             
               93861 91682 70420 06468 04717 13134 03646 04170 08169 21605                             
               07655 47730 97362 68283 85473 37509 93683 29102 58796 88322                             
               92635 95025 38822 47498 03535 04674 80738 90028 66810 73373                             
               03862 36286 14836 38157 50793 05679 16224 40410 01534 27288                             
               39371 40663 87820 70230 27972 39581 00642 79817 41137 04728                             
               59532 70912 93322 07324 51826 76712 86106 26254 01695 01433                             
               49019 05033 69973 47254 23866 93411 49907 34805 91304 87103                             
               65876 34369 26084 53051 89585 03955 20207 92274 86211 80283                             
               07576 29807 00751 28465 70941 39017 60377 32753 54844 30766                             
               04832 89866 09555 07892 27248 40653 63815 38952 47020 31175                             
               04901 48911 30766 16247 71563 70432 44424 32260 46086 11948                             
               83908 96049 57590 14316 68976 64455 22765 41326 27211 00094                             
               63412 70549 50412 88215 42605 95385 43577 82383 60881 08858                             
               70448 59902 85743 51349 17387 17831 72648 48359 68539 26112                             
               45447 17955 82077 15980 55846 44943 13994 97338 16530 18485                             
               25525 18161 47607 61877 22899 70752 57020 92581 65906 51115                             
               43560 44041 79429 88769 63656 79821 11434 31354 24535 02125                             
               36272 59799 18088 38516 31677 56479 00592 45573 94737 87243                             
               43595 20415 19740 77160 14424 46286 85149 83935 68380 28234                             
               10972 45103 15309 05479 50867 28711 74144 76585 27864 62490                             
               25876 46635 40432 60523 43629 70860 78230 38668 73262 17462                             
               77775 71377 43754 69412 56840 63849 49835 02400 33503 80276                             
               59446 34536 75174 46288 35206 99556 47119 22721 41010 84538                             
               14026 59830 45116 25594 34046 94827 40815 80540 38095 65089                             
               61390 41476 42994 23651 20027 17076 88611 28129 52159 21437                             
               05552 60065 74390 10368 57869 08899 37939 41698 87662 88011                             
               03179 37109 86755 22716 14550 89690 56933 16091 71366 04286                             
               73196 43606 51533 48510 08016 95628 16180 40167 67792 88103                             
               71909 54991 45488 10993 63497 47761 75901 28970 83682 82383                             
               91256 74439 22485 95772 66798 11028 84392 68501 16394 46357                             
               55744 15846 63048 75432 68166 58238 32088 29792 65782 96397                             
               88728 79643 11978 35510 34379 61146 28013 78407 28184 83794                             
               19397 06197 99075 03715 43088 72213 52739 92524 24729 93157                             
               34925 96776 46314 20523 78477 19032 95112 58501 89840 74026                             
               57488 12805 50514 21917 82924 17933 17059 55816 42437 74955                             
               74363 82050 33969 75678 28637 89093 06666 09440 21790 71232                             
               96996 94072 44495 59661 52186 48266 56665 86228 39821 18877                             
               50993 16981 81127 49302 35942 11507 06996 20007 26023 08849                             
               00922 68253 09960 15920 82755 04452 79883 22265 55751 18689                             
               60409 39965 55766 79790 55611 17893 09195 37930 05534 30809                             
               85007 90072 49571 80767 33340 08697 77307 00402 29456 03273                             
               60865 48666 07961 55687 26487 51472 41377 15042 80856 46625                             
               70281 83314 12198 24431 68740 25199 99408 72801 55712 49866                             
               26072 72339 47741 03480 91195 88091 14110 36664 05980 51117                             
               40324 23313 03066 96719 27642 96397 95921 63760 41187 06690                             
               28129 96051 53209 60652 39854 56231 84096 90941 05515 82229                             
               79801 43554 74960 81034 84724 47629 24225 02989 31405 32480                             
               68560 05297 57635 08715 89780 46311 68960 87188 66946 50506                             
               20369 73117 68730 19882 17652 29287 81395 66237 92213 29801                             
               30605 97903 58178 53853 85911 05408 91811 47660 10863 21056                             
               32449 50479 79593 41206 67422 80607 62162 36732 18115 62763                             
               08535 05382 40697 07466 62297 30923 46134 26037 01496 98958                             
               27823 78460 13754 88176 15719 86081 99126 81061 33490 14584                             
               37905 75900 20164 99501 88332 77074 10590 66002 38445 16537                             
               83515 83428 01145 59827 72078 42162 86001 06864 12843 38625                             
               15912 82017 66075 31123 30641 83818 66852 18993 87641 13470                             
               24611 14123 34242 92757 66015 50893 99598 49150 38070 42846                             
               61431 24885 17624 83748 96845 32377 85213 02023 63699 71555                             
               65632 64611 21357 27705 38532 33491 33068 20084 10041 47365                             
               66238 13502 69425 43369 23113 68535 64508 75600 05575 31951                             
               92366 23369 20954 25006 41149 03782 41256 41560 51729 14254                             
               80796 30487 93989 11666 02867 39140 85047 61081 42368 27706                             
               61510 51078 36384 43290 05038 45237 47616 08828 65584 85525                             
               31048 39820 06338 61707 65206 11430 90854 16901 96982 56540                             
               87315 65812 25845 77674 88790 14150 36791 63987 45326 67697                             
               34377 50738 77345 32527 48870 08832 38560 73000 64088 29543                             
               42270 25103 55737 72045 52555 68096 82509 46886 09684 32385                             
               74620 60351 86509 76062 97530 81398 73329 69913 50912 63289                             
               22776 36028 05421 02992 64603 17291 11933 74118 28121 33132                             
               49480 70526 53353 61865 75077 48544 71911 44885 32377 87251                             
               87826 39061 77768 09636 44640 61848 93170 62977 69567 29805                             
               19843 38028 34077 65212 36228 44924 84916 93649 63460 07861                             
               57817 30240 27556 68422 31391 80998 59919 83954 69046 44766                             
               80600 30582 76166 86677 41833 07350 48875 31567 32930 36630                             
               12861 45613 43569 55333 02073 58968 38294 45991 07963 50644                             
               67283 72680 38154 22066 15074 60746 23325 70118 71068 31782                             
               88594 67148 85455 47827 42415 25193 67072 81081 46590 36781                             
               68254 76126 43037 74130 37566 08569 57310 48697 68528 84427                             
               24930 33646 38668 92909 40276 40154 08313 17925 00915 96937                             
               95947 78712 35602 29777 91193 58052 56509 54126 02011 39549                             
               34926 96025 94781 52164 52589 48967 46063 70397 21207 61789                             
               62955 17557 43021 46942 53877 92278 65286 45250 12307 88735                             
               54092 45639 11232 81767 87675 89897 63404 77451 57290 78415                             
               67052 20133 04270 38004 04896 12904 34448 61721 74717 63946                             
               01997 48000 91168 43715 15026 96370 66701 11865 50982 73261                             
               39133 60508 49947 04380 82949 62357 36596 62924 91247 71024                             
               71427 15610 78392 80279 24430 56015 27794 86013 81092 60677                             
               80256 45289 41315 95773 81853 80768 11913 43083 86141 84718                             
               11157 89952 68290 46591 22313 57987 81664 00472 42042 15896                             
               11956 88083 47222 19642 03662 60022 66269 85369 92012 40162                             
               43505 87673 01990 23586 22077 59536 64793 04443 77195 04633                             
               20346 31251 09009 03428 77378 76205 13453 87301 68785 82078                             
               92090 34899 37049 31356 46720 40757 31581 87318 68716 04094                             
               09013 36757 08618 87847 78379 06114 92658 51947 59744 01167                             
               41160 79402 49482 97969 54508 28566 22346 16718 61930 57139                             
               24163 90116 99197 46127 80276 91213 55278 13700 59800 60832                             
               38478 81549 34386 77058 98861 30956 83071 40573 99190 47777                             
               52207 80587 81147 27082 16450 50985 18441 13445 05430 73943                             
               14196 25903 53974 79080 35235 58174 78159 10674 11884 41245                             
               19287 74873 45276 47075 53055 58861 15857 40784 95430 80175                             
               34124 70831 86485 43392 60212 23571 86677 33107 57816 72390                             
               72346 96965 58096 08551 59655 64626 94928 85590 73422 62173                             
               46638 88036 77614 82191 68060 55471 29399 95832 97782 28200                             
               02171 38871 46490 95341 64187 13920 94486 30716 40444 16471                             
               92773 11454 23824 39513 24166 32050 70123 68625 43351 51105                             
               27384 61879 61689 22941 40110 62043 68165 74028 64192 57737                             
               20137 44763 77899 59249 12392 14185 34518 83323 50556 01167                             
               41985 61142 53228 59367 42766 56787 52923 45775 88272 17091                             
               09956 52356 82455 61066 27829 49157 82773 26315 95187 28911                             
               79116 70607 61516 41897 31700 61503 68728 52580 78538 73214                             
               71800 03135 38704 51074 54448 50879 68336 63788 07842 76897                             
               70535 12990 83173 77005 99935 32722 52818 58378 46384 74787                             
               81075 63711 50574 48908 86191 70076 63524 63872 01954 04316                             
               91549 80616 31727 77456 76188 60856 96587 14399 87728 47607                             
               09569 22614 41013 48263 84309 73514 47325 29050 49480 80052                             
               26540 45203 04500 83329 41717 62057 64156 37290 27294 57084                             
               62406 93392 97885 22372 39802 93816 07274 10996 49367 40654                             
               15827 83220 09308 21813 37713 23836 55249 98658 20175 08391                             
               51117 91972 16855 01360 12366 70546 72842 26570 64677 20028                             
               79313 89023 50238 52130 17687 03030 95702 29972 60913 15655                             
               96517 58992 00912 45289 40157 47533 42240 21838 78217 02987                             
               42871 22166 65386 06213 04309 80464 29347 64186 11837 72711                             
               94973 70003 26895 30541 48374 79907 64033 11109 15575 37769                             
               73384 15459 21654 16446 51056 58345 14879 77213 76119 59400                             
               79516 57874 23018 01921 40756 59371 75478 91364 24862 75047                             
               61062 48990 37677 48196 01596 36782 92359 67074 19543 62849                             
               50832 12964 66834 75081 04275 79856 27626 37056 29066 52525                             
               36760 24998 90556 91659 38724 75526 91917 44164 69992 80228                             
               16409 61681 45061 88425 32339 70999 90546 12542 87092 26235                             
               37251 96604 26527 85795 05660 78829 78617 49544 74460 46597                             
               26690 34698 93275 57138 00966 10025 95560 22031 40077 11442                             
               04215 59697 16865 14631 50993 62627 86317 93382 92230 26429                             
               95477 21643 62701 90600 44023 74612 63970 13983 87400 15052                             
               34697 74002 56879 23234 20841 38627 38755 08411 88354 27226                             
               53906 88801 73576 25897 66071 13635 33799 80345 02208 66724                             
               73127 95243 74152 95168 89500 14832 71583 01891 26467 43295                             
               29630 96967 12713 37535 24271 27790 36369 42738 47211 29467                             
               06214 50511 67937 73971 02201 08433 54440 17502 66090 86949                             
               94174 01196 92769 80981 08423 14965 23125 94785 65191 07142                             
               57366 59911 69928 08603 13135 18738 25009 83018 38950 71036                             
               89478 08799 52404 31941 09289 45599 51423 86974 79537 19596                             
               58366 74691 02871 90794 28232 66196 32562 18509 22530 68369                             
               63132 79585 42490 38430 45651 70721 41920 37618 97390 63097                             
               89813 25372 38235 66264 65712 53984 58300 90934 61430 89581                             
               91418 46064 13182 96008 94719 03013 92190 20136 45218 40136                             
               84759 30514 62222 14770 94730 04222 07746 06364 86130 78663                             
               92175 31229 33258 06763 45841 89271 39913 04093 05868 92993                             
               84214 87027 52982 28194 49074 48645 96417 04682 64421 93687                             
               37342 13583 51171 17207 97017 96114 13182 01253 50983 19525                             
               23724 82966 87009 31610 93511 14675 35946 17601 89475 61045                             
               97832 45811 51436 32269 16317 82902 90659 42172 46844 98829                             
               16557 46272 88611 88231 46824 89932 82336 38058 69122 87175                             
               26751 47850 82340 89050 90646 71526 59938 60501 95692 35681                             
               75521 90896 72241 26302 34643 73379 31329 09057 11044 26926                             
               11839 34096 25732 19602 23863 62873 41465 77245 53763 29779                             
               98623 83652 26666 12669 51364 54589 24711 30614 66626 95756                             
               21218 35819 37250 21154 23464 66340 65872 10405 81753 36968                             
               98661 16126 17546 92353 92050 45368 11674 68417 83277 00637                             
               32047 09223 12657 89805 50643 25190 03840 87453 15923 60505                             
               46443 50280 94351 53577 73934 97726 48279 43120 51574 94277                             
               11638 04347 91811 65106 21228 20705 16794 87899 52867 01656                             
               86137 50069 64629 35137 46537 44982 29787 95010 58965 27834                             
               18985 14567 63937 41597 67006 61038 99553 80551 62717 12133                             
               61808 19458 13167 89142 37618 59632 63420 22172 64411 63640                             
               18696 38763 81061 84233 93577 07233 89445 38728 22704 72382                             
               86573 34973 49276 56174 86222 27553 00286 13124 05519 02707                             
               54414 21709 31486 29177 45516 15879 65269 28641 18889 46979                             
               56103 86218 34397 48045 87082 61068 25554 91692 12051 63878                             
               38270 42081 58772 89105 28878 41868 56900 73282 56116 70655                             
               78597 43042 09736 04357 50284 02862 05363 60378 83294 39379                             
               61831 50438 97016 36612 50360 91076 05833 85732 97011 33500                             
               96277 97927 18404 75190 93149 25956 68072 20031 60188 88919                             
               50477 18126 63301 46870 75185 01191 33394 72451 44555 74405                             
               47919 32834 77591 88535 21069 59243 40749 83455 97199 93160                             
               90768 12205 98916 50657 37649 03936 29987 93271 61487 27535                             
               63061 18626 97621 98013 65527 88637 82362 65784 91735 28304                             
               86937 63150 72580 06872 22657 57899 03403 49277 33034 21052                             
               66478 47961 86754 58492 76652 46928 35934 22080 02199 86980                             
               07618 99128 15635 65816 25428 57875 77360 51534 96268 28684                             
               20718 45067 24644 02207 31529 63527 10702 57466 52187 05297                             
               47645 92416 75402 57057 41276 62040 89450 61491 08337 53662                             
               97089 63473 54838 01557 45114 15724 35107 26570 26242 93893                             
               04512 43217 27345 21134 01507 01556 47237 66689 48217 89773                             
               23640 75040 53071 01339 22729 83078 16179 62876 05552 25577                             
               68505 29702 79451 25673 95235 40526 35515 82727 69526 39299                             
               70450 47034 14859 87832 05224 70775 19134 80794 68494 48087                             
               48251 35964 35915 98594 06401 53574 10847 26647 56949 16535                             
               07026 47940 11047 50867 73471 23211 15469 50820 92167 71651                             
               62400 68201 84872 32642 20470 88853 95714 93733 68920 30924                             
               03516 09187 56334 15550 97477 38738 71874 04461 31662 43987                             
               72065 01922 30464 88693 27623 49892 20229 87383 29692 37931                             
               86659 07877 12984 73894 06753 31590 00564 73169 34749 96694                             
               69607 52459 69593 11213 12198 06657 74364 60672 23108 36766                             
               59610 75130 18179 92338 10209 28341 09488 22578 60166 80072                             
               84369 43260 86258 21483 56771 14963 48190 36399 27828 57386                             
               28745 40814 94946 77898 82018 36459 60997 58513 51812 10309                             
               28886 63436 77219 29748 53674 16705 98831 92185 80152 69446                             
               53372 95933 42478 67865 64632 72136 22033 48329 13035 81010                             
               23070 34855 89954 27320 62765 06188 18603 21097 41786 09655                             
               98019 54987 84504 72164 60889 28763 39688 15787 68526 37943                             
               71336 76387 53550 24978 11545 33957 97209 72083 08864 72856                             
               87994 46678 93463 31662 91865 73746 42031 90676 01498 86990                             
               64534 32240 66185 49919 15727 70868 27931 54651 58642 70467                             
               58287 83697 19996 43740 06222 36163 06046 91155 24812 41780                             
               72749 64168 73466 56994 00677 42165 61995 60219 12575 97106                             
               33178 67048 58889 13139 52358 76700 78892 05608 96020 29053                             
               22162 05323 70328 71224 48820 19639 97157 55951 52573 92067                             
               97798 26454 16917 31926 52811 16223 87051 74048 84562 60311                             
               02323 38166 15321 00633 69943 05039 62771 54710 36206 79412                             
               88895 64214 30954 00579 59953 98259 19185 51876 37241 13167                             
               99648 04969 37273 73617 94578 92671 70773 12900 09496 46362                             
               21630 18903 26419 43538 82960 24090 69653 69386 16504 66318                             
               18457 74830 19732 40852 06694 62442 76206 72702 07934 16937                             
               05781 80316 83321 36486 42254 67692 01221 60353 50664 12038                             
               24190 01069 67959 29619 70119 31671 47503 56218 23085 52007                             
               64570 61340 45768 69777 60743 39016 44177 12415 73967 43044                             
               91213 70910 97240 75175 74143 79265 76257 59924 98333 52613                             
               80080 76624 31400 32310 68906 96916 89753 66404 61460 85634                             
               00203 75209 33934 42463 59263 01360 87140 41805 35388 64735                             
               89105 22458 91770 64139 61589 37219 23236 77183 67698 29183                             
               01495 78432 65459 85579 58300 70352 51626 14126 61825 53530                             
               44285 47765 47309 58387 06422 58547 22946 74814 35740 35608                             
               43167 49017 83730 99543 26882 44560 30486 35660 11525 96690                             
               35438 73466 50460 38599 86145 92750 80234 14648 12718 45609                             
               93718 78094 50479 31242 34333 22103 72834 61301 94549 91254                             
               40620 06355 02638 48148 46710 27501 71313 46202 28716 44136                             
               04193 39094 35110 33180 30284 77550 99241 93256 80039 84568                             
               11454 41987 23520 89665 49298 75013 17234 45046 37151 42600                             
               53651 43993 85391 20865 10990 75454 92683 00156 47254 05155                             
               81873 34827 85878 69319 94454 60569 44869 96843 55284 52571                             
               71581 70615 67344 85718 42563 22681 02145 47961 06358 17767                             
               70543 56221 37355 19934 48109 80546 98645 59925 83948 34155                             
               28395 58495 43019 24780 54041 14419 46313 13110 90037 25751                             
               98198 37089 78635 20852 86488 86407 64247 41962 80020 07540                             
               80374 20790 84522 82329 10646 39312 52914 95591 88513 99473                             
               32837 72617 11848 74480 54428 05034 21116 10513 50751 65319                             
               42482 45909 18058 43103 29304 48624 22115 27153 25050 54014                             
               21468 54096 78418 76926 29717 17198 65761 37112 23672 26347                             
               24398 17590 03126 34573 60141 95802 69271 09475 62515 58316                             
               36134 34633 87807 35479 39383 42185 16650 50930 94088 17408                             
               91460 44082 69782 02322 68129 83420 42803 23886 42252 14640                             
               55987 58850 76070 08208 19332 72965 91160 55416 18511 01501                             
               97708 06147 21544 83711 30802 35658 48440 20178 32796 07034                             
               19549 06184 12741 24177 64274 76483 43230 68740 86368 45108                             
               13477 51488 98905 63843 49042 64184 89833 53215 79758 70023                             
               54102 71006 61436 02656 32594 39242 33116 66424 79295 65692                             
               87990 69002 63666 90483 98359 38761 05009 23259 98953 94181                             
               90490 99853 25060 33101 69428 29186 73231 45897 75492 90694                             
               00677 08900 07220 00145 21548 28052 34467 27452 26209 59517                             
               23209 88019 89652 78398 69426 55643 76740 20250 52880 62943                             
               41684 59601 14766 29273 00691 14852 06566 14055 22063 99796                             
               95071 46984 45124 71969 98229 48881 66459 78718 17199 37809                             
               45990 37353 28977 19324 99722 65122 20616 20605 31951 87906                             
               06695 84986 47483 69425 80765 01399 24887 89615 33886 81662                             
               68582 44460 56091 52788 04504 14160 27138 81337 11608 76080                             
               20145 75956 74614 03309 92047 00979 20630 82272 97718 93262                             
               35691 25598 27585 67769 87485 21726 44568 59148 29188 90556                             
               18690 30315 69215 30100 77887 58895 64045 24059 04125 95113                             
               50283 32253 73579 72506 22882 76161 95766 71226 64638 66618                             
               24295 81694 74194 46948 53025 22472 31143 81598 46281 21205                             
               08410 33146 49034 87718 70037 99164 02295 74902 05994 52692                             
               42617 52778 94598 00041 35750 94350 78709 84098 84570 59122                             
               92112 60566 40988 07379 49161 81009 16230 21911 88240 80361                             
               67308 48952 56697 04029 47930 40386 62512 71359 04363 82554                             
               33014 72289 09807 22201 15405 73989 69343 58265 79491 12345                             
               28325 38808 59117 53805 90899 19652 97791 85087 03498 01388                             
               54766 56009 76176 24225 21126 60524 46746 80234 11496 16138                             
               89022 34327 16743 97670 16031 17435 56314 91500 73838 33773                             
               22672 74512 52686 51772 81470 88658 67423 30709 01253 98274                             
               38272 01992 55030 91923 88174 29718 71522 11308 83886 86190                             
               02390 13201 47699 44539 71965 49359 41468 38139 70792 58878                             
               10613 38774 17991 69845 39753 52122 47300 45552 00156 41159                             
               99822 16727 89942 37027 66989 89980 99051 14480 26466 07565                             
               68855 52271 46533 90511 03208 64941 19111 69607 89865 41779                             
               13373 48184 69292 83506 50294 09708 89366 61591 96098 79312                             
               05385 12173 57846 88144 41124 20226 46169 81688 95989 05917                             
               15738 96462 11456 78298 51264 19380 65697 35263 14701 37904                             
               45251 82352 35265 35815 30920 34050 07711 76501 26612 87292                             
               73554 76624 42475 64165 88632 17382 33320 69714 48373 90924                             
               09822 01445 29486 75177 13132 83767 52043 93325 31403 23711                             
               30523 87561 27964 98865 58124 11240 48433 90393 08356 42113                             
               11099 43423 86383 74725 83803 61804 09380 38387 94036 49270                             
               15021 68774 03996 42669 03397 34143 98916 87944 72441 29788                             
               12357 61700 80707 20695 78241 17713 60246 12322 59713 00584                             
               31196 04229 10719 20105 11240 57404 09285 00580 68169 92158                             
               41468 17990 34234 91126 96704 54556 35694 42596 82417 04093                             
               29332 67416 89565 18778 37658 97862 45056 86189 70583 48511                             
               45513 97676 65157 16860 04808 18027 04033 41381 04568 73062                             
               56342 31604 73123 88114 87185 81958 91649 10186 87045 52465                             
               82968 29072 38271 15142 43859 82129 96340 76867 10553 21835                             
               98742 51512 20461 74326 45317 22528 84375 25526 44129 25075                             
               85086 90167 18292 43688 38204 16048 34894 62300 27178 21869                             
               61878 95498 87351 64392 98731 80695 77330 33108 69359 01106                             
               08237 96110 75635 82127 34477 76369 99945 89998 11535 89725                             
               45997 16858 26726 04626 55069 95444 85383 57956 18115 99184                             
               21711 69167 88080 96784 83966 98501 73808 83548 72351 92789                             
               54273 17334 75653 91278 90583 50872 25910 14547 09069 02525                             
               55793 74832 27104 08084 45383 22692 87079 13741 23195 06761                             
               08382 32884 17717 55340 07852 85193 00148 95175 39261 21545                             
               96644 92150 19048 89429 29428 26591 59667 71812 26286 07107                             
               47544 33017 21323 52268 35695 93974 54631 11352 78402 75510                             
               00880 49056 81660 17623 73128 55100 49740 61192 45274 35701                             
               38093 69312 67034 33503 77160 08200 89113 90930 57315 34824                             
               20418 50463 90204 41241 51228 93748 18854 77228 90671 06281                             
               89626 02237 20478 73456 59260 64524 95697 72898 28180 40690                             
               26768 56715 15254 90050 54758 35519 38016 71404 10783 02590                             
               63275 85499 74680 69901 20428 80681 58296 10796 06637 64360                             
               62258 48863 70707 15574 19578 66550 33614 15796 42433 61067                             
               21782 77879 68837 05412 92495 80083 98360 08385 09192 11428                             
               65274 02571 47544 90778 10917 88340 44494 06558 09334 03001                             
               44810 41710 00559 39374 53944 91655 67589 36091 44250 73276                             
               01633 56197 30340 47573 66611 18563 40702 50384 34417 90313                             
               13375 53678 43521 71506 56998 14006 67702 04680 01775 03945                             
               95658 32711 68731 91672 24025 11802 21585 72677 55777 41230                             
               66529 19041 94291 19198 54897 91056 85886 56370 81178 83441                             
               68433 28697 28885 94262 43282 09005 61990 85015 27009 15530                             
               53882 33573 40617 18284 04285 34986 92225 21641 35493 16288                             
               25755 96827 72292 96954 16711 55335 08700 08283 31716 79081                             
               08009 71498 06976 63684 71246 59240 06861 49974 09248 00930                             
               10652 53222 30862 31374 46769 73020 14372 22873 53129 61985                             
               41004 71945 56944 65704 59022 87539 85964 85531 98358 97006                             
               20710 92033 30558 23695 07662 03051 56967 76316 48773 63838                             
               05798 07194 60565 98516 85321 68045 44260 38848 59494 81918                             
               80242 34810 59120 91760 11408 03900 08517 23691 08355 45734                             
               96108 03803 15013 14055 74913 03025 51793 09172 04432 64226                             
               18370 01082 35434 31914 86835 74553 74949 60726 61508 68229                             
               55494 31674 14774 03440 33800 40246 56318 50332 65639 18580                             
               57714 56385 94283 36264 86090 91411 68008 55655 09009 70870                             
               15785 44483 30424 90824 15340 10018 77372 56393 77353 74897                             
               43459 39277 62230 69301 45613 69198 59474 35709 02978 95934                             
               41435 58456 22862 80657 60711 95247 58906 44567 63480 09531                             
               15702 74411 63405 59390 69133 93709 81994 33982 97241 15717                             
               60524 72091 94283 83288 36962 45592 01735 63925 02048 55760                             
               84899 26999 70291 91857 99740 76468 46528 56109 08244 43526                             
               96608 17325 55969 40583 13004 03298 55470 70630 29693 62158                             
               77820 81399 37789 67399 26178 85707 70057 71411 96617 29238                             
               01414 95065 95800 32604 94978 13825 11408 96109 26620 05371                             
               39791 33674 67103 79748 65643 14843 39974 18240 74267 70600                             
               28727 22787 97657 08958 35378 30576 36691 79022 55836 34504                             
               20758 42115 79551 31711 51541 48609 74784 89061 03475 90255                             
               68553 19937 01246 04275 24941 24487 07419 08649 46543 55355                             
               24161 31867 01564 27366 22170 75477 07820 42442 59038 22982                             
               19317 06254 27304 16960 87388 19428 89099 28502 48857 17269                             
               15438 89070 11992 47247 23747 61757 84450 13446 31217 43835                             
               98899 83835 14815 38638 36253 47391 57793 27720 30621 29572                             
               80595 03013 90599 29863 73542 97383 79659 83508 34138 72336                             
               09865 14468 62500 41996 31193 15879 35684 10855 32460 13278                             
               79113 01091 66547 55461 99047 12188 71868 01952 06272 68180                             
               47221 54636 81577 36284 23197 49642 48736 53567 21962 22509                             
               34520 18587 19939 87478 26847 05486 47602 19086 66015 23253                             
               11366 47382 58588 06483 14726 08129 23404 28487 54913 24081                             
               94453 89705 83150 61478 18966 65083 28986 94745 23471 13275                             
               31945 06205 30360 73847 80865 87115 36825 00314 00531 65722                             
               37145 60277 62832 49427 41869 40027 81054 46410 48766 70189                             
               50355 35417 20062 97202 47427 45038 49293 57086 38187 98232                             
               87167 91222 78323 15563 63452 03278 58173 08086 70930 58943                             
               87572 13274 62376 16800 90952 93284 61942 92663 89209 98241                             
               45247 73194 45038 38501 55520 89404 81292 62639 73147 86239                             
               02740 60854 75380 43071 04997 18719 51730 54308 27974 41585                             
               33183 50459 35309 59500 64543 54984 59809 84109 41046 77462                             
               77974 34172 90646 14055 29652 59209 50690 37260 99901 59084                             
               20291 26120 97262 38256 37909 43145 59085 51864 16431 29519                             
               92037 23551 17159 90979 07247 86717 47036 11156 33682 62703                             
               42789 45836 38319 35064 28318 99013 59663 06158 26123 55792                             
               21950 11383 57881 01997 79464 60330 40159 01159 38746 83910                             
               42135 84939 87482 34576 27037 62193 73376 85470 29234 70044                             
               59687 18254 73839 05372 91163 36599 71037 87422 42049 88830                             
               85796 79751 64510 28963 35096 85818 32980 16179 10222 13493                             
               68141 85132 37160 28175 10931 91225 99318 75313 28352 35365                             
               41058 13235 89360 16073 02350 71103 94205 98291 67488 54668                             
               69481 04937 06608 37574 25342 62793 67569 65877 71104 18126                             
               62793 47930 41365 76653 13566 25392 02182 48525 61215 41797                             
               08199 44581 13547 56349 90236 74472 99162 61885 61013 80226                             
               63891 45009 33643 03094 54856 23624 86527 37631 11059 97565                             
               82517 71592 72313 57999 11511 44186 48218 71055 83437 10020                             
               53688 89065 12122 06263 58232 36935 33747 10928 32430 34745                             
               84462 97801 46019 33644 80072 47784 44388 10413 78397 53702                             
               74608 50664 12277 17531 80993 30550 58664 79926 47450 70220                             
               68594 08970 92598 98632 09474 86485 54486 59196 33459 02408                             
               50987 63195 38295 87724 07696 98172 72789 68683 05187 05063                             
               26667 92753 23281 70700 00798 50891 38139 33521 30604 15637                             
               78542 23464 57232 54135 39886 79453 41207 89555 43319 78912                             
               03111 94405 38765 22224 86384 55510 06000 81347 98135 43841                             
               32499 62961 82545 06448 75359 77177 01592 27415 70680 89151                             
               70658 90403 20666 75948 26015 03568 38687 46472 65237 39129                             
               86270 81623 29804 24773 38145 15949 33135 67997 52554 51837                             
               49273 87411 31302 60786 91817 45581 38997 52756 19324 84194                             
               39857 20317 79430 24687 20063 51701 36676 01681 42146 58019                             
               14306 75694 70898 24669 69421 47764 94429 32214 34163 06934                             
               87416 90098 63876 15385 00947 05902 95378 56944 74114 43861                             
               94993 33277 15851 45862 67004 95376 96097 90930 12498 16473                             
               23190 07107 41044 80627 28860 13751 04783 73569 06043 18397                             
               36144 73779 91219 75979 43558 43092 02358 78868 99423 26892                             
               83941 08845 15671 98075 26018 18031 42447 12364 46652 72547                             
               90709 30573 76329 18217 16021 49345 22332 76721 82750 16685                             
               27342 53494 22121 68969 80588 43041 81631 93962 77438 50341                             
               76803 51888 39414 26752 62222 12057 81268 14972 63594 53408                             
               83273 57653 79556 75295 84031 37799 49316 19276 19136 68067                             
               89426 99547 13536 16625 50902 58667 74934 83025 87741 98426                             
               58582 46833 53995 18747 73671 37559 04004 86613 17972 61723                             
               57828 41913 44894 96483 08776 52243 88221 22980 77397 96790                             
               25171 41030 40298 57661 94895 52180 77056 79940 59974 99237                             
               63927 88134 78043 66509 48968 26340 04908 93575 85618 60659                             
               67340 46156 44183 09187 86271 30835 72103 02018 91049 85780                             
               49989 53470 95721 22654 81896 54564 38483 53237 05862 36810                             
               62339 43178 63172 31297 60517 15123 73482 94279 82916 35660                             
               12022 55929 25116 49038 88573 78999 69450 12382 09078 54078                             
               90869 87010 91362 57123 13024 38216 66630 98263 84504 29560                             
               23464 28158 13428 56549 32671 60344 51680 12619 83791 11717                             
               12170 24395 38764 23111 74433 79058 51123 17228 66548 71473                             
               09064 32876 84572 16840 81547 13206 25896 58340 88344 19151                             
               29705 89130 06054 58369 12945 18820 61236 37181 83032 73754                             
               89462 10184 60384 68933 30792 38355 09979 50997 59548 66039                             
               65154 44458 02554 42083 54488 62432 85790 32358 77361 97661                             
               96972 50604 78366 35434 35906 46852 93110 35022 74171 93372                             
               24969 59658 55204 34880 80179 63099 49485 13380 95808 09391                             
               39058 05147 50313 72686 32846 07442 79661 20302 44958 97921                             
               75194 89826 86018 77343 55789 06631 73117 59481 57885 26158                             
               71467 34771 02864 79530 98425 93999 12981 97562 55659 65840                             
               11709 60981 78189 38909 05918 02230 69828 78113 32471 21760                             
               59422 68889 07925 37876 10075 92135 94573 01052 96460 48443                             
               00573 64699 80053 29644 16014 77628 07478 37285 59310 94670                             
               15895 97587 40434 61732 19980 32867 25728 50288 17981 85118                             
               18380 13342 35082 99139 72427 87592 22805 59233 53410 11142                             
               13776 58221 77933 06318 17466 95260 13550 21362 15745 23466                             
               49944 38009 75547 67825 16504 26418 38275 24615 88758 47770                             
               43418 06625 53516 96193 89269 02790 53023 95430 10890 98242                             
               96320 98872 72746 90126 78124 33237 43270 32427 81624 59403                             
               58579 87427 48095 26176 36897 93921 79709 90763 84696 83859                             
               35921 90832 77534 62510 08175 11181 37817 04535 41205 32843                             
               56203 10134 58674 84909 96618 03512 40348 28246 34396 08208                             
               03346 36597 29335 18703 20098 57504 48997 24877 51943 03000                             
               89822 35357 93430 20899 83689 10101 29332 73233 37060 98984                             
               86353 96034 57946 85443 89387 35603 86761 58042 49501 93806                             
               47030 58318 95117 59103 02565 17777 53348 77307 62688 47151                             
               49504 23051 14009 81281 34798 39332 80320 40611 02933 68394                             
               66729 05101 80564 08417 86583 12570 16307 22212 64742 09489                             
               66281 22363 14883 36658 87293 65358 79288 83634 41633 76108                             
               58882 89336 54417 07571 83801 53081 18308 94135 87387 14097                             
               41365 86219 92338 53361 24461 79532 36353 63381 94781 22201                             
               37056 37794 11452 20495 02770 65534 45129 57430 56209 47686                             
               50365 89488 78960 04456 35988 00477 66447 21135 80338 52241                             
               16679 86636 05054 66372 66079 87389 53519 48628 08425 18770                             
               86155 69886 05473 32651 26353 26877 32729 98440 67040 79821                             
               42356 70289 02910 29531 13212 54658 46109 02243 24755 99035                             
               75330 84454 34495 82011 61186 80247 35814 26409 72792 23631                             
               91689 95472 27734 45937 81934 22337 67894 40070 33621 08829                             
               49513 94582 63625 41896 67327 00974 90968 97634 62126 04313                             
               87993 94131 41811 01081 52781 65183 57794 64778 84202 04022                             
               41934 45412 94775 22255 17120 47036 43904 19559 10191 24953                             
               78091 38947 47476 45459 94334 11918 83534 32969 70728 77463                             
               42155 95982 22213 39985 59736 25893 44750 13365 04298 57962                             
               53952 85157 18838 47743 30031 36719 34356 00480 68549 10672                             
               70321 00704 06323 82957 76861 39365 74620 72758 37935 29979                             
               75999 70059 81746 92175 54447 01374 83847 62474 02558 25073                             
               33046 15005 08609 95413 72122 52085 50442 69886 31146 03974                             
               63913 71618 99667 49738 97254 83366 51483 01303 40009 10714                             
               82613 25533 34326 05645 49231 14843 96186 48256 80370 30956                             
               15568 67587 04448 96216 13491 12085 58303 05549 22186 88727                             
               46136 70844 56802 81413 59679 11575 51364 31959 32115 76180                             
               87905 43057 49776 36860 65797 84425 00428 73830 08659 81959                             
               57442 56999 95347 61801 66835 10099 47945 99565 83460 18063                             
               29228 63839 08205 02100 13670 05514 95606 76795 33851 80430                             
               73477 25680 24726 34979 95060 71528 98791 22590 73784 82758                             
               74593 66086 28888 11946 19344 54909 86220 89779 02883 72430                             
               12762 28080 43017 19522 01220 21136 14477 97212 25480 07435                             
               83923 22929 92585 94631 68141 15508 42073 26518 65532 33779                             
               82496 33218 89067 92251 71008 08601 41384 30111 26326 19109                             
               23602 98325 97908 67598 67417 09400 92749 63826 32860 48142                             
               78087 89942 99131 98209 86467 03835 54611 56185 94245 37753                             
               57861 75489 13878 76878 00707 43379 44862 82231 93876 99179                             
               61929 14736 25397 77656 01587 60390 45769 77380 59218 93359                             
               07131 35383 93900 52311 50386 18521 55389 28975 24301 77139                             
               86630 31394 62318 84176 64592 72713 92349 50241 51921 19224                             
               30792 28737 40016 07539 16523 89471 37595 31344 24260 47502                             
               22329 33513 38703 34312 80305 92830 18505 14535 77710 98054                             
               30043 82286 66926 43867 17826 05514 88687 68029 42879 44887                             
               19998 82257 08919 69682 21528 25220 37623 38242 25490 82780                             
               84549 26753 54796 35371 81700 01798 13215 99682 71600 50560                             
               56755 60165 71614 32556 98969 49834 56293 16862 41388 08593                             
               16052 41320 04068 25471 61240 76261 60431 47765 20693 53873                             
               65839 68950 39409 81702 00259 52152 11334 04037 62766 54446                             
               75691 98952 09250 39222 94739 22632 63127 03462 33064 99674                             
               23543 35491 88266 46141 77469 03551 34883 36473 51429 27455                             
               19200 66999 97068 24899 59474 12681 55245 66392 62385 77532                             
               93118 51912 66140 42926 13620 21125 73635 15636 86219 42101                             
               04704 80062 76766 71763 36770 82016 59216 67071 84973 96083                             
               85289 61047 04973 31168 42503 62283 73832 30825 94221 90146                             
               14554 98441 58410 55139 46660 57990 14490 50588 94777 51219                             
               02976 88532 04897 29646 84279 49338 55025 85989 35949 63027                             
               14842 86505 45679 29228 04603 93868 23470 22961 33162 92041                             
               44538 67617 82508 72181 77606 90914 14596 37900 85276 34900                             
               60018 41231 88053 44980 50438 66703 56848 82382 07921 41859                             
               27976 88613 91203 56035 71483 82236 07428 76563 61592 80042                             
               04333 01240 63556 80288 81339 44205 26379 30407 73928 66609                             
               01416 48502 49947 95203 03305 27594 16226 64440 45561 01582                             
               25204 38799 47859 53117 12866 40303 51621 55180 06453 37092                             
               11318 99097 98217 70327 62286 90801 71747 11366 03170 91371                             
               28481 30511 40316 79896 82551 12412 21298 06064 62274 21755                             
               52309 68191 55200 05449 20317 75728 96601 54540 95865 81131                             
               98730 12311 66596 29941 61218 85979 08458 38166 73467 22999                             
               96158 92813 25637 27047 08671 70128 32886 70363 15987 31632                             
               59176 51921 33813 38053 09889 76654 95293 49873 42159 32393                             
               30705 34567 27190 80492 31986 15429 40631 37411 28719 91069                             
               77916 34219 20291 31053 21692 12967 32848 10806 67804 66187                             
               40850 60653 70360 06547 26953 60959 50414 82834 87484 76969                             
               64126 09595 10218 66170 52796 90999 11987 62807 85419 35187                             
               82779 28542 10098 31988 15491 35488 01280 83806 18544 46428                             
               62822 55213 94191 51216 66435 90173 29504 30448 90561 46671                             
               64581 65402 22533 05282 28886 58154 44455 36347 08541 99168                             
               05551 05138 35604 93654 31108 16335 17632 60152 54455 15815                             
               57375 82584 89608 03817 96174 31289 90757 70209 83511 57858                             
               07179 34453 74349 38405 86483 76177 20913 82815 44065 88261                             
               39120 10178 89540 48075 05560 25072 01628 20036 65961 51424                             
               27626 79328 62356 25369 63279 62152 35104 46589 18133 16501                             
               98175 81217 75551 82806 45550 02699 88812 55540 04852 11098                             
               07736 14074 91848 26304 68477 38274 66102 22464 22900 87795                             
               13051 20086 52533 98612 31618 43864 67277 91970 86233 83196                             
               77704 23236 09332 45062 35354 24602 09740 11013 61839 35270                             
               47530 11829 26925 68480 85401 48954 02693 55708 03193 18762                             
               80915 49357 72705 93181 87401 39394 25280 18945 72308 10120                             
  39946位                                                                                             

作者: zhaolu48    时间: 2011-2-22 19:57
标题: [原创]大整数的乘法
生成乘数与被乘数及运算得出积共用时间32秒。
作者: ysr    时间: 2011-2-23 10:18
标题: [原创]大整数的乘法
回21楼,我的例子没搞对,您的计算正确,被乘数末尾和我的不同,结果比我的对,
27楼的缺0问题,可能是错位相加时补零不够数,补零相当于乘以1000……(1个段位的0,2进制相当于乘以2,4,8,……),是否这样?供参考
各位计算数值巨大,速度还可以,
能否做可调用称序,以便组合成快速判定素数和破解RSA密码的称序?盼复
作者: zhaolu48    时间: 2011-2-23 11:31
标题: [原创]大整数的乘法
下面引用由yeduhengzhou2011/02/23 10:08am 发表的内容:
我的那个计算用了3秒左右,速度应该差不多,一般位数翻翻,费时大约是8倍。还有,快慢还取决于电脑cpu的运算速度,配置高的电脑速度要快很多。
当乘数与被乘数分别是8080位与4724位时,生成加计算用时也是3秒
但把屏幕显示去掉了。只是把两乘数与积保留在数据库中。
作者: zhaolu48    时间: 2011-2-24 04:14
标题: [原创]大整数的乘法
下面引用由yeduhengzhou2011/02/23 08:46pm 发表的内容:
纠正一个概念:
一般位数翻翻,乘法费时大约是4倍。
是的!
作者: ysr    时间: 2011-2-24 18:11
标题: [原创]大整数的乘法
欢迎继续探讨 沟通!
作者: ysr    时间: 2011-2-26 14:55
标题: [原创]大整数的乘法
朋友,我们相伴走过夏秋冬,春天来临,一起迎接,山青水绿花盛开,芽发草长天放晴

欢迎朋友来看
作者: ysr    时间: 2011-2-27 18:20
标题: [原创]大整数的乘法
都是高手,希望俺的题也与沟通指导,谢谢!

作者: ysr    时间: 2011-4-28 12:37
标题: [原创]大整数的乘法
[这个贴子最后由ysr在 2011/04/28 00:43pm 第 1 次编辑]

谢谢各位大侠!
作者: ysr    时间: 2011-4-29 14:24
标题: [原创]大整数的乘法
我的问题希望朋友探讨,顶一下!
作者: ysr    时间: 2012-3-1 14:14
标题: [原创]大整数的乘法
感谢 zhaolu48老师的指导!欢迎老师继续指点,拿下大数运算编程难关!
作者: 天山草    时间: 2012-3-1 20:28
标题: [原创]大整数的乘法
我有大整数的加减乘除运算程序,VB语言的。程序不敢说先进,但可保证计算可靠。
除法可以有小数,小数位数可以任意设定。

作者: 天山草    时间: 2012-3-1 20:35
标题: [原创]大整数的乘法
美国的那个 mathematica 计算软件不是很好吗?现成的东西。
作者: ysr    时间: 2012-3-2 14:44
标题: [原创]大整数的乘法
谢谢老师指导,不知最多能算多少位?美国的那个 mathematica 计算软件能免费下载吗?
作者: 天山草    时间: 2012-3-2 20:35
标题: [原创]大整数的乘法

不知道最多能算多少位。上面是随便输入的二个大整数相乘。
这个软件可以从网上下载,不是正规软件。正规软件我们买不起。
作者: ysr    时间: 2012-3-5 11:58
标题: [原创]大整数的乘法
是吗?非常感谢!
作者: ysr    时间: 2012-3-7 13:41
标题: [原创]大整数的乘法
mathematica 计算软件汉化版家庭版的要收费,英语版的要电驴下载,下载速度慢,界面为英语,不懂,打不开,强力卸载了,老师能帮我编程验证大数的快速分解因数的方法吗?
或除法,开方计算器?
作者: shikang999    时间: 2012-3-7 15:00
标题: [原创]大整数的乘法
1、上面的那个例子明显有问题。直接对比位数就知道。
2、大数的加减乘是很容易处理的。对于大数的除法,位数在编程语言精度范围内的时候计算是很快的,当位数很大的时候,这个时候需要靠算法来提高效率,算法是一个难点。
3、对于大数编程,存储位数那个我建议存储为编程语言可处理能力的1/2即可。毕竟这个是可以实现的。
4、对于大数开方运算,当你实现了大数的加减乘除后,采用数值分析上算法是很容易实现的。
作者: ysr    时间: 2012-3-7 15:21
标题: [原创]大整数的乘法
1,是天山草老师的例子吗?哪个最高位3位853是对的,末尾3位210也是对的,这是复制的位数可能没问题吧,中间数据就不知道,不好分辨!
2,算法和数学原理我搞出来了,除法的文章已投稿,在处理,不会编程,没有法验证!
3,我的分段法为取编程语言可处理能力的1/3,
4,开平方也用分段,后用竖式,仿笔算法,没人验证,速度如何不知,
  谢谢关注和指导!
作者: 天山草    时间: 2012-3-8 06:51
标题: [原创]大整数的乘法
下面引用由ysr2012/03/07 03:21pm 发表的内容:
算法和数学原理我搞出来了,除法的文章已投稿,在处理,不会编程,没有法验证!
a = 5192025329987041388590727811603754
b = 20282409603651670423947251286016
a/b = 255.9866126089999999999999999999999580436565166897496535606911145267761131805173135944642126560211181640……
上面这个是本人编程做的“大数相除”,小数有 100 位。不知楼主能不能验证上面的计算是否正确?

作者: shikang999    时间: 2012-3-8 07:41
标题: [原创]大整数的乘法
和我运行的结果是一样的。
那么如果
a="204181972518847178731511459272205792.3725762648106369158720449714556708974141349142364448644923186554"
b="20418197251884732432432432423432423324178731511459272205792.3725762648106369158720449714556708974141349142364448644923186554234"
a/b="0.0000000000000000000000099999999999999928694580099855311814333832059747528320512312544690041006331089896841048206045437850801125169285958648464645305455307601131698230358121859872037958276564685922576439715475993323752258151677056392535649988592943440545144186666367461644699154962489320534313136073254528566396208622912747914654284517442501275421539574253845056890372220516907916763212486881712630980329339566414076320736640270772070459866870258348245991001397346540490420567741574430516003161171367625886090379321596535525"这是保留到小数点后532位,请天山草,上面计算结果正确吗,如果正确你你计算这个花费的时间是多少?能否分享下 除法的算法。
作者: ysr    时间: 2012-3-8 12:39
标题: [原创]大整数的乘法
[这个贴子最后由ysr在 2012/03/08 01:56pm 第 3 次编辑]

255 *202824=51720120,除数和被除数取3和6位,积8位,8-6=2,8-3=5,从大到小有2位相同,如果有少与2位或没有相同也可能正常.
255*286016=72934080,余数为0.9866126*286016=282186
72934080+282186=73216266,
末尾从小到大有0位相同,除末尾1位外,是否有问题?
末尾数不对则可能就错了,不知对否?
可能我计算错了重新,
255.9866126089999999999999999999999580436565166897496535606911145267761131805173135944642126560211181640*251286016=64325856031.851
可能还错要255*286016=72934080加被除数末尾8位
51286016+72934080=124220096
727811603754(被除数末尾)-64325856031=663 485 747 723(与除数末尾比较,还不对,无法判断?)
作者: ysr    时间: 2012-3-8 13:11
标题: [原创]大整数的乘法
那个乘法的验证
64545644*13222465=853452518692460,,
555 555*222 222=123 456 543 210,,
作者: ysr    时间: 2012-3-8 18:42
标题: [原创]大整数的乘法
a = 5192 02532 99870 41388 59072 78116 03754
b = 20 28240 96036 51670 42394 72512 86016
a/b = 255.9866126089999999999999999999999580436565166897496535606911145267761131805173135944642126560211181640……
上面这个是本人编程做的“大数相除”,小数有 100 位。不知楼主能不能验证上面的计算是否正确?
对老师的结论再次验证如下,
高位数字的验证:
5192 02532 99870 /20 28240 96036 =255.98661260965
5192 02532 99870/255=203608836470.078,
20 28240 96036 *255=51720144489180,
均有2位相同,
末尾数字:
72512 86016*255=184 907 793 4080,取末尾7位,与被除数末尾比较,
78116 03754- 793 4080=780 366 9674,再与余数比较,
余数=72512 86016*0.98661260899999999999999999999995804=715 421 0214.85098,
整数部分位数相同,最高位相同,
所以,老师的结果是对的!

作者: ysr    时间: 2012-3-8 19:03
标题: [原创]大整数的乘法
[这个贴子最后由ysr在 2012/03/09 11:13pm 第 1 次编辑]


上面对两位老师的验证有问题,重新做,如下:
a = 5192 02532 99870 41388 59072 78116 03754^,
b = 20 28240 96036 51670 42394 72512 860162/4u^:
a/b = 255.9866126089999999999999999999999580436565166897496535606911145267761131805173135944642126560211181640……J
上面这个是本人编程做的“大数相除”,小数有 100 位。不知楼主能不能验证上面的计算是否正确?o
©数学中国 -- 数学中国 www.mathchina.com  `FQ
对老师的结论再次验证如下,B&=8a.
高位数字的验证:dY
5192 02532 99870 /20 28240 96036 =255.98661260965J!Xy?
5192 02532 99870/255=203608836470.078,Q{J
20 28240 96036 *255=51720144489180,L2MU8
均有2位相同,cPJo
末尾数字:f
72512 86016*255=184 907 793 4080,取末尾7位,与被除数末尾比较,@?xx
78116 03754- 793 4080=780 366 9674,再与余数比较,=CqH
余数=72512 86016*0.9866126=7154210149.5894016,}
整数部分位数相同,最高位相同,运算结果是对的,但精确度无法验证,用如下法验证,6算运算运算>(L
5192 02532 99870 41388 59072 78116 03754,(被除数)
b = 20 28240 96036 51670 42394 72512 86016=2^104(除数)
1/20 28240 96036 51670 42394 72512 86016=4.93038 06576 31323 78382 33035 0174e-32
255.986612608999999999999999999999958043656516689749653560691114526776113180517 31359 44642 12656 02111 81640……
我们知道1/9=0.11111……,这个很重要,以下看看9的倒数的性质,
2/9=0.2222222……
11/9=1.22222……
3/9=0.33333……
12/9=1.3333……
4/9=0.44444……
13/9=1.44444……
5/9=0.555555……
23/9=2.555555……
……
运用这个可以判断精确度,
5192 02532 99870 41388 59072 78116 03754/9=57689 17033 31893 48762 11919 79067083.777……
31359 44642 12656 02111 81640(商末尾25位)*4/9=13937 53174 27847 12049 69617.7777777777……
可见末尾数是准确的 ,

所以,老师的结果是对的!KlH
那么如果L.C[OX
a="204181972518847178731511459272205792.3725762648106369158720449714556708974141349142364448644923186554"G\{1j
b="20418197251884732432432432423432423324178731511459272205792.3725762648106369158720449714556708974141349142364448644923186554234"i0
a/b="0.00000 00000 00000 00000 00099999999999999928694580099855311814333832059747528320512312544690041006331089896841048206045437850801125169285958648464645305455307601131698230358121859872037958276564685922576439715475993323752258151677056392535649988592943440545144186666367461644699154962489320534313136073254528566396208622912747914654284517442501275421539574253845056890372220516907916763212486881712630980329339566414076320736640270772070459866870258348245991001397346540490420567741574430516003161171367625886090379321596535525"这是保留到小数点后532位,请天山草,上面计算结果正确吗,如果正确你你计算这个花费的时间是多少?能否分享下 除法的算法。!a
©数学中国 -- 数学中国 www.mathchina.com  r$
对楼上朋友的结论验证如下,0
对高位验证,K$a#}9
20418 19725 *0.9999999999999992869=2041819725,:T
©数学中国 -- 数学中国 www.mathchina.com  ~[
对末尾验证,oZS=
©数学中国 -- 数学中国 www.mathchina.com  aE6@"
31865 54234*0.99999 99999 =3186554233.6813445766,BvQjQg
©数学中国 -- 数学中国 www.mathchina.com  !
与被除数末尾比较,4923186554-3186554233.=1736632321,lh
实际上我们去掉了23个0,位数搞不对了,观察数据,有几位相同是86554,不是偶然的,说明数据是准确的,
&copy;数学中国 -- 数学中国 www.mathchina.com  Kj <
与余数比较,余数=31865 54234*0.99999 28694(商的次高位的数字)=31865 31511.95637 90396,Y&
&copy;数学中国 -- 数学中国 www.mathchina.com  N
631865 31511与3186554233.6813445766整数部分位数相同,最高位相同,,V
所以,结论正确!PK
两位老师的结论是      相当   的  准确的!

  




作者: 天山草    时间: 2012-3-9 06:43
标题: [原创]大整数的乘法
a = 2041819725188471787315114592722057923725762648106369158720449714556708974141349142364448644923186554000
b = 204181972518847324324324324234324233241787315114592722057923725762648106369158720449714556708974141349142364448644923186554234
a/b = 0.0000000000000000000000099999999999999928694580099855311814333832059747528320512312544690041006331089896841048206045437850801125169285958648464645305455307601131698230358121859872037958276564685922576439715475993323752258151677056392535649988592943440545144186666367461644699154962489320534313136073254528566396208622912747914654284517442501275421539574253845056890372220516907916763212486881712630980329339566414076320736640270772070459866870258348245991001397346540490420567741574430516003161171367625886090379321596535525
上述结果跟 shikang999 算的完全一样。时间很短,一瞬间吧,没法测量。我用的是 VB 程序,不知道如何测量运算时间。

作者: shikang999    时间: 2012-3-9 15:49
标题: [原创]大整数的乘法
1、我是使用的VB.NET编写的函数。我也不知道怎么测试运行时间,但是我喜欢用TickCount函数来大概估测一下,你不妨也使用这个函数试一试。
2、由于我发现我写的大数的除法运算速度还是很慢的,如下一个例子:
a=7286025439244147552044768094494970670453821245103478375113499668041140478785169550238619398440399354360511215249981485425965375223278917156823159189309716583125389316214011310664761586451135133634051116088202871228049435860420534523953539377020921360927922119685232294019303511214566996715426428121838461181533186903657201412864629321377235160683482314413148591336984203200351323014462317841013401383182724797916811965352050885789411664364124676151711501269291880401829929488523556711481149544177837066677475459160710896270712672659031843848967118434756044257531716636028001821339476153114482200285750574045687126830139714288434062087475459581768764210984229659577958821325419218720000411703661584127503689314021935132293912819290559551694336547957018392178821463618384242222108009931463934140107045125647452181323584511441517072426941579794694494129308237362501191542248726399873954218208650501821737541293117302813115633125320229241289513862204238347167255266499275311877682801284622241944430249183
b=1739967521249409488622857855152482416357727328021957794584620460158092615420722903969261762619449476903591896186034426581333290897101515173166082724019857096758736527502097897321100101198043357931706352423299562981122414178221803487287465469198943719356861866767271537218826850154557464947952156144804806231877363515222636671457150740996161922194391695911238913395895263281221315776201239486178522505110670374191375926443178420582812210228465400926515906519361544762775146176798532749228385736405714274243573246793666151279769498465071546199720130678929118501022361377624399277585934205569442918960538117843547791149732076202619264287356279011106542261791848080664665318417927161897245058150837099393617799060309630720686110191380009209199569898658131269118011154929354279281125450378127543624442091703012825421120853352041200539913155268414917549923421654787880159744584963712766814212727501359385576943729842293028704159561967014301662872261943671905496833347460056109083868619462875038800974571419
a/b=7286025439244147552044768094494970670453821245103478375113499668041140478785169550238619398440399354360511215249981485425965375223278917156823159189309716583125389316214011310664761586451135133634051116088202871228049435860420534523953539377020921360927922119685232294019303511214566996715426428121838461181533186903657201412864629321377235160683482314413148591336984203200351323014462317841013401383182724797916811965352050885789411664364124676151711501269291880401829929488523556711481149544177837065868505231173124236820855075704636366570177371509778260216391868140767498258058947673403832442172774726041082417211900923029524576950174483820882703208333421315973198425334164846487947133979876705915802422662668631260494759668772885641310801513744504372897972418710118040660303613668807848056365045423008242479944638988838692684819787881635446009120754375691038896343733918619182906337409933966410120509163144051939927163392190033650580109779966993712350408864228363394096017247255065520711670956455.765753641849466967929396076517146294535561048535796042061720245540961379681763106266820707923527075315385457058652437134280660762677704440709714075208514004040847752512719432340025297325208904392134696109430942216656332932598146699244261746223864691014870800917149898944917782946190947168759737279627848590468016649497141818527590737212605571499248788269883582499777841563278388906034867898894011393411809765725542028979815681493027871647966556852353933047132622079394602204918796425969978500889845213';小数点后500位
运行上面的除法花费31ms(当然,不同的环境应该会有所差别),而对上面a*b进行运算花费的时间基本为0ms相比,确实不能让自己容忍.希望大家能一起讨论下大数的除法的算法。
当然,我可以先说下我的大数除法的算法。由于字数我直接连接到我的博客日志http://blog.163.com/shikang999@126/blog/static/172624896201111410352184/
希望天山草也能说下你的除法的算法!
作者: 天山草    时间: 2012-3-10 12:36
标题: [原创]大整数的乘法
看来 shikang999 对大数运算有研究。本人的方法很普通,是将数字转换为字符串,由于字符串的长度不可以超过 255,所以好像位数太多了不行。下面是程序:

';商为整数及小数的大数相除,可调用
  Private Sub form_Click()
  Open "相除结果111.txt" For Output As &#35;1
   
    Dim a1(100000) As Long   ';……………… 被除数的各位数字
    Dim ay(100000) As Long  ';……………… 余数的各位数字(最后一次试商要修正时)
    Dim ayy(100000) As Long  ';………………余数的各位数字(最后一次试商不必修正时)
    Dim b1(100000) As Long   ';……………… 除数的各位数字
    Dim c1(100000) As Long   ';……………… 近似商与除数相乘后的各位数字
   
    Dim d(10) As Long
   
    Dim aa1 As String     ';作为被除数的输入字符串
    Dim bb1 As String     ';作为除数的输入字符串
    Dim pp As String      ';商的每一位
    Dim ppp As String     ';作为商的输出字符串
    Dim s1(1000) As Long  ';……………… 商的各位数字
    Dim js As Long        '; js 是商的位数加一
    Dim ta, tb, j, e As Long
    Dim fa As Long  ';………………………… 被除数的位数
    Dim fb As Long  ';………………………… 除数的位数
   
   
   aa1 = "2041819725188471787315114592722057923725762648106369158720449714556708974141349142364448644923186554000"
    bb1 = "204181972518847324324324324234324233241787315114592722057923725762648106369158720449714556708974141349142364448644923186554234"
           
  GoSub sub1
  
999: Close
    Exit Sub
   
sub1:
    Z = 532 - 9 ';100    ';需要计算的小数位数
   
    Print: Print &#35;1,
    Print "aa1 = "; aa1: Print &#35;1, "aa1 = "; aa1
    Print "bb1 = "; bb1: Print &#35;1, "bb1 = "; bb1
    Print "ppp = ";: Print &#35;1, "ppp = ";
   
    pp = "": ppp = "": mv = 0
    If Len(bb1) <= 2 Then aa1 = aa1 + "00": bb1 = bb1 + "00"  ';除数小于 3 位时
    mv = 0
    If Val(aa1) < Val(bb1) And Val(aa1) <> 0 Then       ';除数大于被除数时
       ppp = "0."
        Z = Z - 1
       aa1 = aa1 + "0"
       mv = 1
    End If
   
    If mv = 0 Then
       GoTo 2
       Else
1:   If (Len(aa1) = Len(bb1) And aa1 < bb1) Or Len(Trim&#36;(aa1)) < Len(Trim&#36;(bb1)) Then ';被除数小于除数时
       ppp = ppp + "0"
       aa1 = aa1 + "0"
       Z = Z - 1
       GoTo 1
       Else
       GoSub sub3
       If Val(sy&#36;) * Val(aa1) = 0 Then GoTo 4  ';余数或被除数为零停止计算
       GoTo 3
    End If
    End If
2:
    GoSub sub3
   
    If Val(sy&#36;) * Val(aa1) = 0 Then GoTo 4     ';余数或被除数为零停止计算
                                          
    ppp = ppp + "."                            ';以下计算小数部分
   
3:   For iv = 1 To Z                           '; Z 是事先设定的小数位数
    If Val(sy&#36;) * Val(aa1) = 0 Then GoTo 4     ';余数或被除数为零停止计算
    aa1 = sy&#36; + "0"
    GoSub sub3
    Next iv
4:  Print ppp: Print &#35;1, ppp
    Return
   
   
   
sub3:      ';大数相除
    ccc = 0
    vvv = 0  ';试余数不大于除数时的标志
    If (Len(aa1) = Len(bb1) And aa1 = bb1) Then pp = "1": sy&#36; = "0": GoTo 50
    If (Len(aa1) = Len(bb1) And aa1 < bb1) Or Len(Trim&#36;(aa1)) < Len(Trim&#36;(bb1)) Then ';被除数小于除数时
      pp = "0"
      sy&#36; = aa1
      GoTo 50
    End If
   
     
   mv = 0   ';如果除数位数小于 3 位,则分子分母同放大 100 倍:
   If Len(bb1) <= 2 Then aa1 = aa1 + "00": bb1 = bb1 + "00": mv = 1

   fa = Len(aa1)  ';把被除数的各位数码放在数组 a1(i)中
   For i = 1 To fa  ';a1(1)为最低位,a1(fa)为最高位
     a1(i) = Mid(aa1, fa - i + 1, 1)
   Next i
   
    fb = Len(bb1)  ';把除数的各位数码放在数组 b1(i)中
   For i = 1 To fb   ';b1(1)为最低位,b1(fb)为最高位
     b1(i) = Mid(bb1, fb - i + 1, 1)
   Next i
   
    ';以下取除数的近似数
   e = b1(fb) * 1000 + (b1(fb - 1)) * 100 + b1(fb - 2) * 10 + b1(fb - 3) + 1
   ta = fa: js = 0
   
   For j = fa - fb + 1 To 1 Step -1     ';………… 做除法求商,求余数
     js = js + 1
     f = a1(ta) * 1000 + a1(ta - 1) * 100 + a1(ta - 2) * 10 + a1(ta - 3)
   ';取被除数的近似数
     s1(js) = Int(f / e)   ';…………………………………… 试商
   For i = 1 To fb      ';…………………………………… 求试商的积
   c1(i) = b1(i) * s1(js)  ';…… 近似商与除数相乘后的各位数字
   Next i
   
   d(0) = 0
   For i = 1 To fb - 1  ';…………………………………… 满 10 进位
     d(1) = Int((c1(i) + d(0)) / 10): c1(i) = c1(i) + d(0) - d(1) * 10
     d(0) = d(1)
   Next i
   c1(fb) = c1(fb) + d(0)
   
   qq&#36; = ""
   For i = fb To 1 Step -1     ';……………… 求试商的精确积
   qq&#36; = qq&#36; & c1(i)           ';…… 试商与除数相乘后的精确积
   Next i
   
   For i = fb To 1 Step -1
      a1(ta - fb + i) = a1(ta - fb + i) - c1(i)
   Next i
   For i = 1 To fb
       If a1(ta - fb + i) < 0 Then
       a1(ta - fb + i) = a1(ta - fb + i) + 10
       a1(ta - fb + i + 1) = a1(ta - fb + i + 1) - 1
     End If
   Next i
     a1(ta - 1) = a1(ta - 1) + a1(ta) * 10
     ta = ta - 1
   Next j   ';至此,已初步算出最后的试商
   
   a1(fb - 1) = a1(fb - 1) Mod (10)
   
   For i = fb To 1 Step -1
   ayy(i) = a1(i)          ';试余数的各位数码
   Next
   
   ssy&#36; = ""    ';以下做出试余数的字符串 ssy&#36;
   For i = fb To 1 Step -1
   ssy&#36; = ssy&#36; & ayy(i)
11: Next i
   
   If (Len(ssy&#36;) = Len(bb1) And ssy&#36; > bb1) Or Len(Trim&#36;(ssy&#36;)) > Len(Trim&#36;(bb1)) Then
      vvv = 1    ';试余数大于除数时的标志
      For i = 1 To fb   ';试余数减去除数,得到正确余数 sy&#36;
      ay(i) = ayy(i) - b1(i)
       If ay(i) < 0 Then
         ay(i) = ay(i) + 10
         ayy(i + 1) = ayy(i + 1) - 1
       End If
      Next i
     sy&#36; = ""             ';把 ay(i) 组装成 sy&#36;
     For i = 1 To fb
      sy&#36; = Trim&#36;(Str&#36;(ay(i))) & sy&#36;
     Next i
71: If Mid&#36;(sy&#36;, 1, 1) = " " Or Mid&#36;(sy&#36;, 1, 1) = "0" Then sy&#36; = Mid&#36;(sy&#36;, 2) Else GoTo 72
   GoTo 71   ';去掉结果中的多余 0
   End If
72:
   For i = 1 To fb - 1
     c1(1) = a1(i) - b1(i)
     ay(i) = c1(1)   ';最后一次试商要修正时,这就是余数各位数(除最高位)
   If c1(1) < 0 Then
     ccc = -1
     c1(1) = c1(1) + 10: a1(i + 1) = a1(i + 1) - 1
   End If
   Next i
   c1(1) = a1(fb) - b1(fb)
   
   ay(fb) = c1(1)  ';最后一次试商要修正时,这就是余数的最高位
   
   If c1(1) >= 0 Then         '; c(1) 不是负数时最后一次试商要修正
      s1(js) = s1(js) + 1     '; 所谓修正就是加一
   End If
   
   For i = js To 1 Step -1
   If s1(i) >= 10 Then   ';由于修正,商的某一位有大于10者,要调整进位
     s1(i) = s1(i) - 10: s1(i - 1) = s1(i - 1) + 1
   End If
   Next i

   If js = 1 Then       ';以下做出商的字符串 pp
     pp = s1(js)
   End If
   If js >= 2 Then
     pp = 10 * s1(1) + s1(2)
   End If
   For i = 3 To js
   pp = pp & s1(i)
   Next i
      
   If vvv = 1 Then GoTo 50  ';试余数大于除数
   
10: sy&#36; = ""    ';以下做出余数的字符串 sy&#36;
   If ccc = -1 Then    ';最后一次试商不必修正时的余数
   For i = fb To 1 Step -1
   If ayy(i) <> 0 Then yyy = 1
   If ayy(i) = 0 And yyy = 0 Then GoTo 20
   sy&#36; = sy&#36; & ayy(i)
20: Next i
   End If
   
   If ccc = 0 Then    ';最后一次试商须修正时的余数
   For i = fb To 1 Step -1
   If ay(i) <> 0 Then yyy = 1
   If ay(i) = 0 And yyy = 0 Then GoTo 30
   sy&#36; = sy&#36; & ay(i)
30: Next
   End If
   If Mid(sy&#36;, 1, 1) = "-" Then ccc = -1: GoTo 10   ';余数为负,重做余数
40: If Mid(sy&#36;, 1, 1) = "0" Then sy&#36; = Mid(sy&#36;, 2)   ';去掉余数前面的多余零
   If Mid(sy&#36;, 1, 1) = "0" Then GoTo 40
   
50: If sy&#36; = "" Then sy&#36; = "0"
   If mv = 1 And sy&#36; <> "0" Then sy&#36; = Mid(sy&#36;, 1, Len(sy&#36;) - 2)
   If mv = 1 And sy&#36; = "0" Then sy&#36; = "0"
   ppp = ppp + pp     ';包括整数及小数的商
   
90: Return
   
   End Sub
   

作者: 天山草    时间: 2012-3-10 12:46
标题: [原创]大整数的乘法
[这个贴子最后由天山草在 2012/03/10 00:56pm 第 1 次编辑]

另外,第 58 楼那个相除的结果没有写出来,应该是:(小数后 1000 位)
这是用 mathematica 算的。花费时间是 1.37694*10^-17 秒,若是计算到小数后面一百万位,用时是 0.031 秒。能算得这样快,真是不可思议。
以下是小数后 1000 位的值:
4.18744910480415686574262176837490458942323515788162026451816193403389\
1092558488368702257615611368641000628561366805354134126939859290544819\
8180638692503945093807701140149302524898001319560448754138586540155310\
5616314214473176531068312205407824089573100259688017230177355352966427\
5598322091973008766111438979877583976483143842630152284428311818951247\
9633863363579215260129514654432243118905994397600069598018225040974326\
4881392984588976454929827665311359136256963767160437109542599021231315\
0440450225127464934096819631200529025907345826664201390471778625501790\
4757379923336273621704866180951584540283435190214408871964559705324740\
0425019041349376969441838851168062119342124330700975404865199616919960\
6775215305377599510875891559201021401421795380148873036227394164320180\
9319128199045966347447631972052731621675360156926788725201083295776002\
8985919161059810256589802340562827237553492806147653765893180341848310\
5048384703798188693291525692120840379479256163535732814248460999938057\
021748250276259988186[br][br]-=-=-=-=- 以下内容由 天山草 时添加 -=-=-=-=-
看来,用业余方法研究这些问题,很难有什么大的成果。
作者: ysr    时间: 2012-3-10 15:51
标题: [原创]大整数的乘法
两位老师好,下面推出正规版验证方法,(上面的是忽悠人的,不要受误导):
a = 5192 02532 99870 41388 59072 78116 03754
b = 20 28240 96036 51670 42394 72512 86016
a/b = 255.98661 26089 99999 99999 99999 99999 95804 36565 16689 74965 35606 91114 52677 61131  80517  31359  44642  12656  02111  81640……
上面这个是本人编程做的“大数相除”,小数有 100 位。不知楼主能不能验证上面的计算是否正确?
对高位的验证,
20 28240 96036 51670 *255 98661 26089(商的前13位有效数字) =51920 25329 98501 30391 05541 8630,共有17位与13位相乘,得数29位,29-17=12位,
与前19位被除数前19位的比较,
51920 25329 98501 3039-5192 02532 99870 41388 =-2028349,仅末尾7位不同,有前12位相同,
对末尾数字的验证,
72512 86016(除数末尾10位)*44642  12656  (商倒数第20位后取10位)=32371 28280 49030 18496(共20位数字),
末尾10位49030 18496与余数的比较,
"余数"=72512 86016*02111  81640(商最后10位)=15313 38472 96794 6240(共19位),
49030 18496-15313 3847(余数前9位)=47498 84649(这应该是前段商值的余数,无法对照),
42394 72512 86016(除数末尾15位)*99999 99999 (商值. 后第11位后取10位)=42394 72512 43621 27487 13984,与被除数末尾比较,
8 59072 78116 0375(被除数第18位后取15位)-42394 72512 43621 (取前15位)=43512 55299 16754(共15位,无法与后面的对照),与后面余数对照,
"余数"=42394 72512 86016*99999 99999 95804 (商值. 后第21位后取15位)=42694 72512 84237 11733 36038 76864(共30位)
43512 55299 16754-42694 72512 84237 (余数前15位)=817 82786 32517(共13位),
计算器试除a/b=5192 02532 99870 41388 59072 78116 037/20 28240 96036 51670 42394 72512 86016=2.55986612609(被除数去掉2位),有效数字全部相同,
所以,老师的结果准确,相当好,程序应该推广!
和我运行的结果是一样的。
那么如果
a="204181972518847178731511459272205792.3725762648106369158720449714556708974141349142364448644923186554"
b="20418197251884732432432432423432423324178731511459272205792.3725762648106369158720449714556708974141349142364448644923186554234"
a/b="0.0000000000000000000000099999999999999928694580099855311814333832059747528320512312544690041006331089896841048206045437850801125169285958648464645305455307601131698230358121859872037958276564685922576439715475993323752258151677056392535649988592943440545144186666367461644699154962489320534313136073254528566396208622912747914654284517442501275421539574253845056890372220516907916763212486881712630980329339566414076320736640270772070459866870258348245991001397346540490420567741574430516003161171367625886090379321596535525"这是保留到小数点后532位,请天山草,上面计算结果正确吗,如果正确你你计算这个花费的时间是多少?能否分享下 除法的算法。
a = 2041819725188471787315114592722057923725762648106369158720449714556708974141349142364448644923186554000
b = 204181972518847324324324324234324233241787315114592722057923725762648106369158720449714556708974141349142364448644923186554234
a/b = 0.0000000000000000000000099999999999999928694580099855311814333832059747528320512312544690041006331089896841048206045437850801125169285958648464645305455307601131698230358121859872037958276564685922576439715475993323752258151677056392535649988592943440545144186666367461644699154962489320534313136073254528566396208622912747914654284517442501275421539574253845056890372220516907916763212486881712630980329339566414076320736640270772070459866870258348245991001397346540490420567741574430516003161171367625886090379321596535525
上述结果跟 shikang999 算的完全一样。时间很短,一瞬间吧,没法测量。我用的是 VB 程序,不知道如何测量运算时间。

1、我是使用的VB.NET编写的函数。我也不知道怎么测试运行时间,但是我喜欢用TickCount函数来大概估测一下,你不妨也使用这个函数试一试。
2、由于我发现我写的大数的除法运算速度还是很慢的,如下一个例子:
a=72860 25439 24414 75520 44768 094494970670453821245103478375113499668041140478785169550238619398440399354360511215249981485425965375223278917156823159189309716583125389316214011310664761586451135133634051116088202871228049435860420534523953539377020921360927922119685232294019303511214566996715426428121838461181533186903657201412864629321377235160683482314413148591336984203200351323014462317841013401383182724797916811965352050885789411664364124676151711501269291880401829929488523556711481149544177837066677475459160710896270712672659031843848967118434756044257531716636028001821339476153114482200285750574045687126830139714288434062087475459581768764210984229659577958821325419218720000411703661584127503689314021935132293912819290559551694336547957018392178821463618384242222108009931463934140107045125647452181323584511441517072426941579794694494129308237362501191542248726399873954218208650501821737541293117302813115633125320229241289513862204238347167255266499275311877682801284622241944430249183
b=17399 67521 24940 94886 22857 855152482416357727328021957794584620460158092615420722903969261762619449476903591896186034426581333290897101515173166082724019857096758736527502097897321100101198043357931706352423299562981122414178221803487287465469198943719356861866767271537218826850154557464947952156144804806231877363515222636671457150740996161922194391695911238913395895263281221315776201239486178522505110670374191375926443178420582812210228465400926515906519361544762775146176798532749228385736405714274243573246793666151279769498465071546199720130678929118501022361377624399277585934205569442918960538117843547791149732076202619264287356279011106542261791848080664665318417927161897245058150837099393617799060309630720686110191380009209199569898658131269118011154929354279281125450378127543624442091703012825421120853352041200539913155268414917549923421654787880159744584963712766814212727501359385576943729842293028704159561967014301662872261943671905496833347460056109083868619462875038800974571419
a/b=7286025439244147552044768094494970670453821245103478375113499668041140478785169550238619398440399354360511215249981485425965375223278917156823159189309716583125389316214011310664761586451135133634051116088202871228049435860420534523953539377020921360927922119685232294019303511214566996715426428121838461181533186903657201412864629321377235160683482314413148591336984203200351323014462317841013401383182724797916811965352050885789411664364124676151711501269291880401829929488523556711481149544177837065868505231173124236820855075704636366570177371509778260216391868140767498258058947673403832442172774726041082417211900923029524576950174483820882703208333421315973198425334164846487947133979876705915802422662668631260494759668772885641310801513744504372897972418710118040660303613668807848056365045423008242479944638988838692684819787881635446009120754375691038896343733918619182906337409933966410120509163144051939927163392190033650580109779966993712350408864228363394096017247255065520711670956455.765753641849466967929396076517146294535561048535796042061720245540961379681763106266820707923527075315385457058652437134280660762677704440709714075208514004040847752512719432340025297325208904392134696109430942216656332932598146699244261746223864691014870800917149898944917782946190947168759737279627848590468016649497141818527590737212605571499248788269883582499777841563278388906034867898894011393411809765725542028979815681493027871647966556852353933047132622079394602204918796425969978500889845213';小数点后500位
运行上面的除法花费31ms(当然,不同的环境应该会有所差别),而对上面a*b进行运算花费的时间基本为0ms相比,确实不能让自己容忍.希望大家能一起讨论下大数的除法的算法。
当然,我可以先说下我的大数除法的算法。由于字数我直接连接到我的博客日志http://blog.163.com/shikang999@126/blog/static/172624896201111410352184/
希望天山草也能说下你的除法的算法!

被除数与除数各取25位试除,72860 25439 24414 75520 44768 /17399 67521 24940 94886 22857 =4.18744 91048 04156 86574 26237 72097 7,无法对照,可能是a*b运算,
a*b(同样取25位)=1.26774 47623 28177 94087 84563 35294 3e+49与上面不同,
速度够快,不知是啥算法?
我才发现,计算机程序附件中的计算器,是可以算33位有效数字的,且数字精确可靠,网上的在线计算器,能算20多位的,当数字超过20位结果末尾就不可靠,甚至有多位不对,真是!!!
  两位老师的程序非同1般,应该推广,但当今科学界简直是"无政府状态",好的东西无法推广,没有人给与客观公正的评价,伪劣产品却大行其道,乱收"买路钱",这样下去,后果不堪!
若好的新的东西能不断推广和发展,何必花巨资下载老外的那个"神马牛逼"的东东呢?
  



  


  



作者: ysr    时间: 2012-4-4 15:40
标题: [原创]大整数的乘法
[这个贴子最后由ysr在 2012/04/04 04:13pm 第 1 次编辑]

编程序累人呀!只会VB简单的+-*/啊,大数不会!什么是数组,如何做?分段计算如何循环?^^6^66^^^^^^^^^^^^^^,尼玛,晕了!
希望帮助,做可调用程序!!!要组成快速分解因数和RSA密码的破解程序,难!!!
以下为移花接木的大数乘法VB代码及1个实际例子的答案:
Private Sub Command1_Click()
D1 = Text1.Text
D2 = Text2.Text
Text3.Text= MPC(Text1.Text, Text2.Text)
End Sub
Public Function MPC(D1 As String, D2 As String) As String
Dim X, Y ';两数长度
X = Len(D1): Y = Len(D2)
Dim A() As Integer
ReDim A(1 To X + Y, 1 To Y)
Dim I, J, C1, C2, CJ, JW
If Check1.Value = 1 Then
For C = 1 To X + Y
   MPC = MPC & "-"
Next
MPC = MPC & vbCrLf
End If
For J = Y To 1 Step -1 ';D2
JW = 0 ';进位清0
C2 = Mid&#36;(D2, J, 1) ';每位数
For I = X To 1 Step -1 ';D1
   C1 = Mid&#36;(D1, I, 1) ';每位数
   CJ = C1 * C2 + JW ';计算乘积
   C = I + J: R = Y + 1 - J
   A(C, R) = CJ Mod 10 ';本位
   JW = CJ \ 10 ';进位
Next
A(C - 1, R) = JW
If Check1.Value = 1 Then
   Dim T, M
   T = ""
   For C = 1 To X + Y
    MPC = MPC & A(C, R)
   Next
   MPC = MPC & vbCrLf
End If
Next
Dim B() As Integer
ReDim B(1 To X + Y)
JW = 0
For I = X + Y To 1 Step -1
Bit = JW
For J = 1 To Y
   Bit = Bit + A(I, J)
Next
B(I) = Bit Mod 10
JW = Bit \ 10
Next
If Check1.Value = 1 Then
For C = 1 To X + Y
   MPC = MPC & "-"
Next
MPC = MPC & vbCrLf
End If
If B(1) > 0 Then
MPC = MPC & B(1)
Else
MPC = MPC & Space(1)
End If
For I = 2 To X + Y
MPC = MPC & B(I)
Next
End Function
被乘数123456789123456789123456789,
乘数123456789,
积------------------------------------
000000001111111102111111102111111101
000000009876543129876543129876543120
000000086419752386419752386419752300
000000740740734740740734740740734000
000006172839456172839456172839450000
000049382715649382715649382715600000
000370370367370370367370370367000000
002469135782469135782469135780000000
012345678912345678912345678900000000
------------------------------------
15241578765432099765432099750190521
作者: ysr    时间: 2012-4-4 16:06
标题: [原创]大整数的乘法
以上代码注意1点,要使复选框Check1.的Value 属性为1.我费好大劲才查到Check1.为复选框控件.
作者: ysr    时间: 2012-4-5 10:20
标题: [原创]大整数的乘法
以上代码缺点是除了显示乘积外,还有如下中间数据:
------------------------------------
000000001111111102111111102111111101
000000009876543129876543129876543120
000000086419752386419752386419752300
000000740740734740740734740740734000
000006172839456172839456172839450000
000049382715649382715649382715600000
000370370367370370367370370367000000
002469135782469135782469135780000000
012345678912345678912345678900000000
------------------------------------
  敬请高手指点,修改1下,使仅显示乘积,以便调用此结果,非常感谢!!
作者: ysr    时间: 2012-4-5 14:03
标题: [原创]大整数的乘法
天山草老师59楼的大数除法程序还是好使的,能在程序中调用么?如何调用?
作者: ysr    时间: 2012-4-5 14:07
标题: [原创]大整数的乘法
以下为该程序的1个结果:
15241578765432099765432099750190521/123456789=123456789123456789123456789,
作者: ysr    时间: 2012-4-5 17:55
标题: [原创]大整数的乘法
62楼的乘法是1位1位相乘,1位1行,中间数据太多,大数看不到结果,中间数据就占满了,要改成分段算就好了,可能速度还会提高1点,且把中间数据不要显示,喜欢 yeduhengzhou 和zhaolu48老师的,可惜看不懂他的代码!
59楼天山草老师的除法的结果,小数点后的位数太多,不过改1下就好了,看明白1点,是把Z=532-9改1下吗?我需要整数部分,小数部分只保留8位就行!
  欢迎高手指点!谢谢各位老师长期的鼓励支持和帮助!
作者: ysr    时间: 2012-4-5 19:07
标题: [原创]大整数的乘法
62楼的为啥非加个复选框呢?Check1.value = 1,还有如何就让中间数据不显示?
作者: ysr    时间: 2012-4-8 12:24
标题: [原创]大整数的乘法
自己顶1下,求高手帮助!
作者: ysr    时间: 2012-4-8 13:50
标题: [原创]大整数的乘法
62楼修改了1下为:
Private Sub Command1_Click()
D1 = Text1.Text
D2 = Text2.Text
Text3.Text = MPC(Text1.Text, Text2.Text)
End Sub
Public Function MPC(D1 As String, D2 As String) As String
Dim X, Y ';两数长度
X = Len(D1): Y = Len(D2)
Dim A() As Integer
ReDim A(1 To X + Y, 1 To Y)
Dim I, J, C1, C2, CJ, JW
For J = Y To 1 Step -1 ';D2
JW = 0 ';进位清0
C2 = Mid&#36;(D2, J, 1) ';每位数
For I = X To 1 Step -1 ';D1
  C1 = Mid&#36;(D1, I, 1) ';每位数
  CJ = C1 * C2 + JW ';计算乘积
  C = I + J: R = Y + 1 - J
  A(C, R) = CJ Mod 10 ';本位
  JW = CJ \ 10 ';进位
Next
A(C - 1, R) = JW
Next
Dim B() As Integer
ReDim B(1 To X + Y)
JW = 0
For I = X + Y To 1 Step -1
Bit = JW
For J = 1 To Y
  Bit = Bit + A(I, J)
Next
B(I) = Bit Mod 10
JW = Bit \ 10
Next
If B(1) > 0 Then
MPC = MPC & B(1)
Else
MPC = MPC
End If
For I = 2 To X + Y
MPC = MPC & B(I)
Next
End Function
Private Sub Command2_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End Sub
运算结果:
因数123456789123456,
因数123456789,
积15241578765432002342784,
这样好些,只是不如分段算更快些!
作者: ysr    时间: 2012-4-8 13:57
标题: [原创]大整数的乘法
不能乘小数和有符号的数
作者: ysr    时间: 2012-4-8 20:45
标题: [原创]大整数的乘法
我从网上复制了大数的+-*/和开方的代码,无法调用,我的程序要用大数,无法运行代码,显示用户类型未定义,无结束语句等,如何做?唯一能运行的是上面的乘法和除法!
VB呀,累人,今天无法学下去了!
作者: ysr    时间: 2012-4-17 23:38
标题: [原创]大整数的乘法
大数乘法还可以这样做:
Private Sub Command1_Click()
D1 = Text1.Text
D2 = Text2.Text
Text3.Text = MPC(Text1.Text, Text2.Text)
End Sub
Public Function MPC(D1 As String, D2 As String) As String
Dim X, Y ';两数长度
X = Len(D1) \ 4: Y = Len(D2) \ 4
If Len(D1) Mod 4 = 0 Then
X = X
Else
X = X + 1
If Len(D2) Mod 4 = 0 Then
Y = Y
Else
Y = Y + 1
  End If
End If
D3 = String(4 * X - Len(D1), "0") & D1
D4 = String(4 * Y - Len(D2), "0") & D2
Dim A() As String
ReDim A(4 To 4 * X + 4 * Y, 4 To 4 * Y)
Dim I, J, C1, C2, CJ, JW, s, t
For J = 4 * Y To 4 Step -4 ';D2
JW = 0 ';进位清0
C2 = Mid&#36;(D4, J - 3, 4) ';每位数
For I = 4 * X To 4 Step -4 ';D1
  C1 = Mid&#36;(D3, I - 3, 4) ';每位数
  CJ = Val(C1) * Val(C2) + JW ';计算乘积
  C = I + J: R = 4 * Y + 4 - J
  A(C, R) = String(4 - Len(CJ Mod 10000), "0") & CJ Mod 10000 ';本位
  JW = CJ \ 10000 ';进位
Next
A(C - 4, R) = JW
Next
Dim B() As String
ReDim B(1 To X + Y)
JW = 0
For s = X + Y To 1 Step -1
Bit = JW
For t = 1 To Y
  Bit = Bit + Val(A(4 * s, 4 * t))
Next
B(s) = String(4 - Len(Bit Mod 10000), "0") & Bit Mod 10000
JW = Bit \ 10000
Next
If B(1) > 0 Then
MPC = MPC & B(1)
Else
MPC = MPC
End If
For s = 2 To X + Y
MPC = MPC & B(s)
Next
End Function
Private Sub Command2_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End Sub
实验:
被乘数12345,
乘数12345,
积000152399025,
只是结果是字符串首端有0,
如何弄?
希望大侠帮忙解决!
作者: ysr    时间: 2012-4-18 20:55
标题: [原创]大整数的乘法
哈,这会改过来了,学精通不易,学会几条语句还是不难,当你搞通一条语句时,不是很快乐吗?你会觉得好玩!楼上yehe老师的中间缺0的问题解决了,就是把数组变量声明为字符,计算数值补够0,就是这个Dim A() As String
和A(C, R) = String(4 - Len(CJ Mod 10000), "0") & CJ Mod 10000 ';本位这个
程序如下
Private Sub Command1_Click()
D1 = Text1.Text
D2 = Text2.Text
Text3.Text = MbC(Text1.Text, Text2.Text)
End Sub
Public Function MbC(D1 As String, D2 As String) As String
Dim X, Y ';两数长度
X = Len(D1) \ 4: Y = Len(D2) \ 4
If Len(D1) Mod 4 = 0 Then
X = X
Else
X = X + 1
If Len(D2) Mod 4 = 0 Then
Y = Y
Else
Y = Y + 1
End If
End If
D3 = String(4 * X - Len(D1), "0") & D1
D4 = String(4 * Y - Len(D2), "0") & D2
Dim A() As String
ReDim A(4 To 4 * X + 4 * Y, 4 To 4 * Y)
Dim I, J, C1, C2, CJ, JW, s, t
For J = 4 * Y To 4 Step -4 ';D2
JW = 0 ';进位清0
C2 = Mid&#36;(D4, J - 3, 4) ';每位数
For I = 4 * X To 4 Step -4 ';D1
C1 = Mid&#36;(D3, I - 3, 4) ';每位数
CJ = Val(C1) * Val(C2) + JW ';计算乘积
C = I + J: R = 4 * Y + 4 - J
A(C, R) = String(4 - Len(CJ Mod 10000), "0") & CJ Mod 10000 ';本位
JW = CJ \ 10000 ';进位
Next
A(C - 4, R) = JW
Next
Dim B() As String
ReDim B(1 To X + Y)
JW = 0
For s = X + Y To 1 Step -1
Bit = JW
For t = 1 To Y
Bit = Bit + Val(A(4 * s, 4 * t))
Next
B(s) = String(4 - Len(Bit Mod 10000), "0") & Bit Mod 10000
JW = Bit \ 10000
Next
If B(1) > 0 Then
MbC = Val(Left(MbC, 5)) & Mid(MbC, 6) & B(1)
Else
MbC = Val(Left(MbC, 5)) & Mid(MbC, 6)
End If
For s = 2 To X + Y
MbC = Val(Left(MbC, 5)) & Mid(MbC, 6) & B(s)
Next
End Function
Private Sub Command2_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End Sub
实验
乘数1000001
乘数3
积3000003
作者: ysr    时间: 2014-2-20 13:12
标题: [原创]大整数的乘法
如何做 快速版的,超大整数的 乘法?
作者: ysr    时间: 2014-2-21 12:24
标题: [原创]大整数的乘法
研究超大数据没有程序帮助不行,学习VB吧:
http://study.qqcf.com/sort/163/2/
作者: 天山草    时间: 2014-2-21 12:29
标题: [原创]大整数的乘法
前几年我试做过用 VB 编写的大数四则运算,不限于整数。今天看来好像没有什么用处,原因应该是编程水平不高吧。
作者: ysr    时间: 2014-2-23 18:08
标题: [原创]大整数的乘法
谢谢天山草老师的帮助!您的程序对初学者是最好的学习资料,我的除法程序是从你的学来的,但计算超大数据还有许多困难要解决,还要学习更多技术,希望帮助!
作者: ysr    时间: 2014-2-23 18:52
标题: [原创]大整数的乘法
绘制函数图的VB程序:
http://hi.baidu.com/100bd/item/c929efc746e87656ad00efbb
作者: ysr    时间: 2014-2-23 19:05
标题: [原创]大整数的乘法

是计时程序,如下为代码来源:
http://wenda.so.com/q/1369552198068025
作者: ysr    时间: 2014-2-23 19:12
标题: [原创]大整数的乘法
VB代码网站:
http://hi.baidu.com/100bd
作者: ysr    时间: 2014-2-23 19:46
标题: [原创]大整数的乘法
哥猜验证程序及代码来源:

http://hi.baidu.com/100bd/item/223c38f64f43410f87d27892
作者: ysr    时间: 2014-2-23 21:21
标题: [原创]大整数的乘法
VB输出彩色字符:
http://wenda.so.com/q/1363132941067250
作者: ysr    时间: 2014-2-25 19:11
标题: [原创]大整数的乘法
如下为计算阶乘的程序,代码及来源:

http://bbs.csdn.net/topics/50489742
作者: ysr    时间: 2014-2-25 19:37
标题: [原创]大整数的乘法
学习VB编程可以到如下网站,有视频教程,还是清晰的:
http://www.wldsj.com/
作者: ysr    时间: 2014-2-28 20:58
标题: [原创]大整数的乘法
顶1下,有感兴趣的吗?
作者: ysr    时间: 2014-2-28 21:52
标题: [原创]大整数的乘法

查找素数的程序及代码来源:
http://hi.baidu.com/100bd/item/465fda588e13d416aaf6d7c2
作者: ysr    时间: 2014-3-13 15:32
标题: [原创]大整数的乘法
如下为计算阶乘的程序,代码及来源:
http://bbs.csdn.net/topics/50489742
作者: ysr    时间: 2014-3-17 21:01
标题: [原创]大整数的乘法
公式编辑器如何弄?
http://wenda.so.com/q/1384449439065769
作者: ysr    时间: 2014-3-17 21:04
标题: [原创]大整数的乘法
http://bbs.csdn.net/topics/90220557
作者: ysr    时间: 2014-3-17 21:10
标题: [原创]大整数的乘法
http://zhidao.baidu.com/question/312875741.html
作者: ysr    时间: 2014-3-17 21:15
标题: [原创]大整数的乘法
http://bbs.csdn.net/topics/20116509

作者: ysr    时间: 2014-3-23 13:04
标题: [原创]大整数的乘法
网友用VB编的超大精度科学计算器代码:
http://www.docin.com/p-208787011.html
作者: ysr    时间: 2014-5-1 17:52
标题: [原创]大整数的乘法
文件的加密和解密:
http://hi.baidu.com/100bd/item/dfc360157f07dafd9c778a6f
作者: ysr    时间: 2014-5-11 09:44
标题: [原创]大整数的乘法
字符转换:
http://study.qqcf.com/web/166/18714.htm
作者: ysr    时间: 2014-6-3 09:42
73257426341980265837263108290320745693771572143175
我搞出1个加密软件,以上为密文,感兴趣的可以破解试验!
作者: ysr    时间: 2017-5-20 18:27
顶一下,欢迎试用
作者: ysr    时间: 2021-3-25 11:38
本帖最后由 ysr 于 2021-4-4 04:45 编辑

第8页73#楼合74#楼的程序单独都可以用,加载主程序中则需要加上去掉前导0的程序,稍加改动,重发如下:

Public Function MbC(D1 As String, D2 As String) As String
Dim X, Y ';两数长度
X = Len(D1) \ 4: Y = Len(D2) \ 4
D3 = String(4 * X + 4 - Len(D1), "0") & D1
D4 = String(4 * Y + 4 - Len(D2), "0") & D2
X = X + 1: Y = Y + 1
Dim A() As String
ReDim A(4 To 4 * X + 4 * Y, 4 To 4 * Y)
Dim I, J, C1, C2, CJ, JW, s, t
For J = 4 * Y To 4 Step -4 ';D2
JW = 0 ';进位清0
C2 = Mid(D4, J - 3, 4) ';每位数
For I = 4 * X To 4 Step -4 ';D1
C1 = Mid(D3, I - 3, 4) ';每位数
CJ = Val(C1) * Val(C2) + JW ';计算乘积
c = I + J: R = 4 * Y + 4 - J
A(c, R) = String(4 - Len(CJ Mod 10000), "0") & CJ Mod 10000 ';本位
JW = CJ \ 10000 ';进位
Next
A(c - 4, R) = JW
Next
Dim B() As String
ReDim B(1 To X + Y)
JW = 0
For s = X + Y To 1 Step -1
Bit = JW
For t = 1 To Y
Bit = Bit + Val(A(4 * s, 4 * t))
Next
B(s) = String(4 - Len(Bit Mod 10000), "0") & Bit Mod 10000
JW = Bit \ 10000
Next
If B(1) > 0 Then
MbC = Val(Left(MbC, 5)) & Mid(MbC, 6) & B(1)
Else
MbC = Val(Left(MbC, 5)) & Mid(MbC, 6)
End If
For s = 2 To X + Y
MbC = Val(Left(MbC, 5)) & Mid(MbC, 6) & B(s)
Next
End Function

'该程序已经做了修改,不是去掉前导0的问题,是补够前导0的问题。

作者: ysr    时间: 2021-3-29 17:09
Public Function MbC(D1 As String, D2 As String) As String
Dim X, Y ';两数长度
X = Len(D1) \ 4: Y = Len(D2) \ 4
D3 = String(4 * X + 4 - Len(D1), "0") & D1
D4 = String(4 * Y + 4 - Len(D2), "0") & D2
X = X + 1: Y = Y + 1
Dim A() As String
ReDim A(4 To 4 * X + 4 * Y, 4 To 4 * Y)
Dim I, J, C1, C2, CJ, JW, s, t
For J = 4 * Y To 4 Step -4 ';D2
JW = 0 ';进位清0
C2 = Mid(D4, J - 3, 4) ';每位数
For I = 4 * X To 4 Step -4 ';D1
C1 = Mid(D3, I - 3, 4) ';每位数
CJ = Val(C1) * Val(C2) + JW ';计算乘积
c = I + J: R = 4 * Y + 4 - J
A(c, R) = String(4 - Len(CJ Mod 10000), "0") & CJ Mod 10000 ';本位
JW = CJ \ 10000 ';进位
Next
A(c - 4, R) = JW
Next
Dim B() As String
ReDim B(1 To X + Y)
JW = 0
For s = X + Y To 1 Step -1
Bit = JW
For t = 1 To Y
Bit = Bit + Val(A(4 * s, 4 * t))
Next
B(s) = String(4 - Len(Bit Mod 10000), "0") & Bit Mod 10000
JW = Bit \ 10000
Next
If B(1) > 0 Then
MbC = Val(Left(MbC, 5)) & Mid(MbC, 6) & B(1)
Else
MbC = Val(Left(MbC, 5)) & Mid(MbC, 6)
End If
For s = 2 To X + Y
MbC = Val(Left(MbC, 5)) & Mid(MbC, 6) & B(s)
Next
End Function

'该程序已经做了修改,不是去掉前导0的问题,是补够前导0的问题。
作者: ysr    时间: 2021-3-29 17:52
本帖最后由 ysr 于 2021-3-29 11:43 编辑

99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999950000000000000000000000000000000000000000000000001*9=899999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999550000000000000000000000000000000000000000000000009有321位,用时0秒。
作者: ysr    时间: 2021-3-29 18:20
51750801837147361345408953922231823615475578427966187002956389087112242842559611794590895524485015222232340190036677951157401229518412775512617768569186939216558814320044037671525512763073762127357272238470370174050144130962253437215369727381909754581075278888137687950749577751967083233227932391898438489520107788418593104216764745143648165875043861634459264809523254076330115365651752264033578829280651927862062277153553168278640509846511729608378923480331705134467105387853440058108864733429085916392927954109944314725590758950098556991513109760871599045355054258610189920009222629391227784118536578933067532162200768112408111142115021110731900107445187734955403922470144187293970602024056652942406064101184615113779243566842311336047149767396006622923831778833173731302325162741660053390002572456069410383734906953419854919650114722834689335022576764661864630532595250136417800041415827379233503655173380741283758557001102498493237113089198106283487003030225058520047964863929279622015825870972146222540614667928697270131499340362072956956518213266361286372027834000838185920579641835952404678850816456467012890793914108776148483471455515695596694573035435841962871983614397882366460940068418989292218104650923374259244879331938925143014431488635252724366437874702141802712286424754174951797598162531093933772708024046029028652425912112434874797404878317364682580259997737809632860143160557722236459697738869857870982308547756781808568834445404196611833859447257611721058384661943492980180884154939581533269700568975940675513953240040220315659784214936947443784598154082110443748171557676558299300252057475022409541083454882202785077569281268346332901357829843950754331120530978456454396022570647840977328115888711408099894489014427119253061839770890965114853246067272044090282103668762164047374624856119676063310166566519499552342907590495696658359542582469176737197423550084705962160477441546453931948920780829433665262356431973422034925001341330921812806939990688094288773216182971976433480031438271163051341645350474631300965486818841553843112688792803367397276204832936049162335586140151875524537720425345701193713093955432559579831822084761702059241698184717469616732582600658006352069963017377661059372648121969448644394344799369193952197519795756182552461838014896498816263546256621347748100920475049252091842372001283217811864786225692344297842649982716736752004086642881662614773154743879410328420184057019873899911520017723788801*
51750801837147361345408953922231823615475578427966187002956389087112242842559611794590895524485015222232340190036677951157401229518412775512617768569186939216558814320044037671525512763073762127357272238470370174050144130962253437215369727381909754581075278888137687950749577751967083233227932391898438489520107788418593104216764745143648165875043861634459264809523254076330115365651752264033578829280651927862062277153553168278640509846511729608378923480331705134467105387853440058108864733429085916392927954109944314725590758950098556991513109760871599045355054258610189920009222629391227784118536578933067532162200768112408111142115021110731900107445187734955403922470144187293970602024056652942406064101184615113779243566842311336047149767396006622923831778833173731302325162741660053390002572456069410383734906953419854919650114722834689335022576764661864630532595250136417800041415827379233503655173380741283758557001102498493237113089198106283487003030225058520047964863929279622015825870972146222540614667928697270131499340362072956956518213266361286372027834000838185920579641835952404678850816456467012890793914108776148483471455515695596694573035435841962871983614397882366460940068418989292218104650923374259244879331938925143014431488635252724366437874702141802712286424754174951797598162531093933772708024046029028652425912112434874797404878317364682580259997737809632860143160557722236459697738869857870982308547756781808568834445404196611833859447257611721058384661943492980180884154939581533269700568975940675513953240040220315659784214936947443784598154082110443748171557676558299300252057475022409541083454882202785077569281268346332901357829843950754331120530978456454396022570647840977328115888711408099894489014427119253061839770890965114853246067272044090282103668762164047374624856119676063310166566519499552342907590495696658359542582469176737197423550084705962160477441546453931948920780829433665262356431973422034925001341330921812806939990688094288773216182971976433480031438271163051341645350474631300965486818841553843112688792803367397276204832936049162335586140151875524537720425345701193713093955432559579831822084761702059241698184717469616732582600658006352069963017377661059372648121969448644394344799369193952197519795756182552461838014896498816263546256621347748100920475049252091842372001283217811864786225692344297842649982716736752004086642881662614773154743879410328420184057019873899911520017723788801=
2678145490787694710138406683675886762424440548647327525594133873038347266950777818028529804877891353347244255046176220880989519574806598935727647635506939520211209794328712328126947740602255036264392628020291100698432900022333877728824270241063030019536831205264726059774673235680796770108334187808344470141093691232926021244583649747591446066921535333854157441330339217364515328375889937313870826987520723914810358707312468857074455945610038118763873992681688857200178452843740327143990247797893489008808544535536081089994800692174759199578596435124153437689121057209523619989593900355037400039597165241729693472001589594642879166693443994939359639600558001937547209387175085119128575833396037478944824322315197771750730768383267287661855880237549141571520374996029107650341071074081501632143441365461865431362023790463469688071768208320226561675630348708531708110373889241713511809029065048200924851629507265095151843687852114948736130517024578482059771284515915597919026074110811882700307150650858080695566672584075215926450360584738705106755945308199980660478183563586945902705730231409948938478910176292179410952310592864745025373902249844607078729230098512959498522851990040833671698873183076996740726479481352429756295966452788332789259316653805673821716832204368483794501474641036177256005810416507649770210480747056764697918800240201155395628561684853684747063434500664449114760179367086926249813006056735202795763742271472136500817313178050955623517148960973128433455798444839070215800699075256371341531892841721456473301085595261371522078416420399702683504171019191363372883472415693921509069484448792009627325245658854979159002549542769741504596589556474585723101403486046952706847309188488390899096649210853675228464611999630360164703837131620319658277117300208326944026347808645954842782309633205645471959842390075986572806483755223497552549948718545978420793425036666212191832327909389117021539426917904222971515424022606157676379417252939026404363841301595348953340657745965591468370831371449860774296757556463049237248472613472436666799615694672489600751763956185893123579218797539971253828850163437053164723845196089466298000486042246621634263064752906475198879616484926366053597071510886820878425907736453843197228282179943365206039514850477377542684361730162273246709577442085159313947668552462343596819299335060863266863059421286080919061657175757802930378698062290163092494909661982639303946271889619023417245433500782685534406291391527022657608608130680134939380126048353657648559735671562230714451258764762350451448379438849319710473631625533527602085050858633346936315115309333355986556546113134787213610042970405680162084678021281774169131725296977361816657904233850711837826724976507876061043779177845550646612327663283839673950405472039432309339110648301347672597370034346896334064135099613033528785924976781865447506814375627647103020761819104412269362847848884053177378762432543285984193091289854949394023586451139393716370633759317698908834326333339634557238526607966375935960004339535161203546369910853171524516945554862019134684985868547068709986010719120259421723270478586992153989283736650948010894951434857207445141886625290777550599700738909777829412358941157674866550887608199469723859806486384262574182811908513849905040209776132986875560077482527819093584150609347560543627976011009349905362597935257895287412087233810106693141683912683308201407373637490835862452911394718399632093441745957478079754723679119343225931665785380948807114301164623717144211285944154289093317610519159281033583963015810556464180819928345256832572962092994993950655913067768151113345566231088759030148164710287289335782462899525700500822021472132532771242198844498579102733028256523810973405350508253183399668290339844052874956694050028526577775764032598023622192221226501334606994447870277619118208162133562541678250491647671042612088902952091163094215645902682086024337098910110924115381788866213335441814530141911754446270296630426675020592640816713810936850961517475097707179713115856513919631998747192606018612535436009162735908155778165736923393260822217415131632296810207091918499370220533980666393617256227781299273913099896641458499949922475383775878771011361417556799406151773618626138749998464514570482965286184387350245762317271666329142667987131139265167425606863654107927682419958167046956962340419295394058625063862272314570914511355913547470055072878835349142049813368019960713974852351833144227544851625677753419141348585495260230041111323576432417502998832485027071744397105338790364666312325483218209150368759120749671419554589928540715813531144241705501211397506662448276056294585639532800634727428900861538486753011006379264618338782036690340859441153926551954112364946638768223012718907190897165613382555036872673785444132692292217184974818914501886689736449912131900762592363447945036085692999163815947845753538999001633767986447907729462453017601有4888位,用时0.6796875秒。
这比利用快速傅里叶变换的程序还快呢!咋回事?
作者: ysr    时间: 2021-3-29 18:56
7172463269826462171528525227724894034214868966993605795401948124722087997342143358371455108964150545128907248526343196455641573509751354673861557821110693231777877738015812129161714061189179959717148156972438006245711375491637996368054355662274712424986912135083307535204835752100527089372858343068979871404409740751212288162364580340051030336669437742592243358179513860552191185265379861524597999525415656854787911581643398207658315370562159727183489341082919000873799051151043947664730614606995331479395199806790880383623001985260201859351553733798110323146855143033755798433086479488024524618236189650830082641102858321608765095677671296332855383698658513841618432462514767301509015302731887426449020324508457305854743150812148135681998160759231340593224787524059384993567619253642859738374890522751502722301228640973352385535814528059287908278674678352643221455078097708537386230468632692143543786079089278143231331448551012324709811279702452779256184630920739523413422282624035439915227985252545794326379126775078358185074208637164548385049952343933304537250581118807518766053939393481540287533027802322405590412993878611099596612132868370166415773181601154351447449360821364030895301897439991811626252222800042408837799445748876986689983744267954539975623901497977921404672456088365607147517753334119523085306549029501450784349931681757118493080278423158884618389416751863515799501941931299333482860034175574234687366084034854559860406380515922622731215797937947749347523567616361602120568917837553302958455697473044355271553097193939898199130578212161450820530733402948944817740996785663578468527435799222211621687841330657355269886610809724657106599734412672509267528377383850891990213998928910925665771135271178329415173122279497587450094043452968217137897325537655382191951751305922520305745720481516125474084463651538358435467578314496534799610440729366870223201955669253868969728058316618723047893958806793103141691041934281198205584987981081000108093858653439624897454612814469707610638127291418381351191694294777021231948012520106211264528527924444201382244571278473214765325480705119868390993533790074524744095675902347116176374826615934187667836147701248099347800023505688743794273915955274979733822944679464000508774509390349906781765163794451106428726498478530824886867498104246201491752880954757001517163612506498931595524274363029567180050754500432532286684708062072343197640125970583268910454330495069475260464330960780880190756901690402890214548943068478380757588861100818684623184339329031152871493812892138965016318354449639572431218054475101906966356246728290357749255900892206636706659073323666601520176669794618490222246109251969096246673833325909200541908647265810778433581200066738963648865628467965987974276129559867820082461324727175812909248560556153989070551651206916397043015129112324174041078381598687340367330369743574483768123513914466078688385552657957466373141833312470005872038158158558758597782287039757518156507558332909095180665881503900399254393925538499082517233770693477475440628379280827399682320040292147212671478850267113144256467717832789836095684233795606474628605577407950893979220730884373604393712239399619598622515105407684769318956407495911888144725372198319167914080204643210431914238821762306355036590446232568753016880799686685880210761285646606345578580056778051890680006982633074396045998096007046814297317508472091232768681594848779768724106961419347315786049071217250606391912412090036387359478549697004116901877456389276560046168633296499987754935871886741805805544288336626689145248219392479520665544572592654825874224723479880277722687977622479652630381460400253566835128569128126839849213424501027798623052330552639340014466433204854284282451838267652596510117073421554349769115596747847222786403991672125861002797993917039353677197561761018603077826216853034619545722932609155001960887797757724784083641663152934067672560173435725465409431333528091135523120222385280011570777644633992350683777567415457830142061356335821132623807179012101446605207533723888496145283691342928263101524024846536249138277962355381236115191250993587394690915625304012223449766194430885987517644469628964169109557807580762078537823980480277465642584796467360214177043602577120889280685824649388496001273597116159134970313980353087497406685979214581267102484657541875734018573130363674965905476673163481843821632051283681039720334533765017564509447055586120874529359775805844927319441709905022001704116387838005555153895216897265575940773948153176057832585460429745756094209528141488349976396674145584278724158836079117395297220622272613076439797697250956341920663130800734933155473346047738298666918898902058007968877485494163402560976541434704853172824135465265265413974659965992895056898571176505487405592027170864616186946549268484945297743480501600120064292645208037740939399240094229556634953081272586550404921251625234389912469589310281012901392380576054483238327215960879621215969418846522922054542058918325244657436478923637305716604682937562502625439542890870560297001951641986789624288562889846686525163088338471193186909768839469313807434287938259075089209910815237602035006864287774116054689067777229371270478665958455578247242113942197143505270008270270882191459688500066171521085054637377654252805754437567172842547938504092900808035624181824913689212947749777436293373997711125153064037803130649030656558546371288595296468051919653790009777109517042131035126573157883183656149031966290078048334686709613718875861993309644523724063515318637150743743389819818443552464423324971361456328433637001544653164638134029593641252649445564245102383007994865579077339457095651502941609117808906309223556024161286929108818191092639537820354261080758077666630753705679538620750240666605592530730238594235539574877759961712126221403282110319210039096970244934331283753007521745745837118120875705449296773432071049524935985944109558437494014526628545805285283211428212254815968453350353270667791149002454020746551663288384513504477866563520997609007704638752734240019484187769074642477074635474178236636866384721352427137750376744613001123164665522329698946864898915127542184529485587658494587744364754108361832698602920926798129076766271689152063216892000068702714408279505019745577786412160670706124505985662713657321905320058533322793579237307804061839083228241436729193118794125128602094745055040576711788450457579614174565175802897167080710639994745840408397188506013885908234200079470657560761093726188202968121735561672223506544407698071001104638286697863716911974871887889137352956177408235640187026335370180204269652496414622509246371913138867876466852915702002493457796630152391077246573798902025599992921947798890245930826255604543179370599273579602413517025291509137312565324651045766230943157633671851484144506416775604281483649665758671646087878710299223648600430794245286634276337844861170064580136723171347269810295795858398334220900459465680922702870972535103576876292907307652387534960191148834056753451657660931145515183543034393594453522937133734797355509943645187648731036090794950906104283431878826206307827524070028872299576965917050394234259986403377998509485079981363227077920026415618622428351304948072774838856801910366262559417442075232876162498709886882802124652312784435273507112770600208831184523646975165214379848407565171174246809997646009632924601230290592771311174549485322280542389123380462520652882111312033936289163788141960823931696888562106170237706550474284332740770252213900167894107284777482550350071361367151033525557171242907760562806679088740080478417471947819864720913692727336875658905474567774039096016299963871473601740086381354357179117749979110998112356352808189165842640207385776942252523358810039236078255183525529059874835125061234394074934909132255049783257541224053548198808652934695191418942834052371211524505976359110862030354610440635466142233137032127828857341531945816347930334509783514826135049690966965590328180073893837602188523301252123322723686120745275718705335983789003879497358018233759586456552862045742698107466630548973174919196570904489890564814069316083928253565097210010972987364689613782060247756229844584102377898827698947656763349306029039082478169225459931807461582437866510644539950728909670405185406776395849139556079466224657039622466467248175545823623111884112843786943196766907877471459634386322517853379671635861176446902694845586618133960389483456792263969375099395117758301586552554735290557282182649471723233085316948575654535258764959248191371622912245057971788968465050758911262576841267180636859779757898070212042118711333384216610181492870803869468282666126519808348146096589922650048641772202198072403546045272458781263186976049222383319870833843327375945414614154247992477644715054102005628243992111786180131664024016803330080223139821644587273437441338849555910477687563186510842007994149483363916523106835536022015378348641756245301023218771922044525978889328011515196392351153367647898428790542145817468347061491199973362848006838675577998841359685950026995771734056969750046174178343024201957430428174909217623707800454587541547999372447814554325540261532995290859332208048663519065389569542084421397802194571699591730237799757313714472333153018836276577894871710374936427805210334149251476143194011904103580927705512657445792637448210801981406325898853914731016758315659836542449366051395779886791126380622850691083405899521557705689988227787187036384654263022977011149854400284754958678411636633870582670219621470547411288183081931679714837078992548282323330288773323468937974805019102283375562950349861921150037994035660525472554512367270458369512316693424357275110365137080817513123195148755802178179447803099975134439746839174283338011413458411062894320960126845861170742217107400439529873590483426646151584669746270815795201有9775位,用时2.703125秒(这个是利用快速傅里叶变换的乘法程序的结果,是两个4888位的整数的积)
作者: ysr    时间: 2021-3-29 19:01
7172463269826462171528525227724894034214868966993605795401948124722087997342143358371455108964150545128907248526343196455641573509751354673861557821110693231777877738015812129161714061189179959717148156972438006245711375491637996368054355662274712424986912135083307535204835752100527089372858343068979871404409740751212288162364580340051030336669437742592243358179513860552191185265379861524597999525415656854787911581643398207658315370562159727183489341082919000873799051151043947664730614606995331479395199806790880383623001985260201859351553733798110323146855143033755798433086479488024524618236189650830082641102858321608765095677671296332855383698658513841618432462514767301509015302731887426449020324508457305854743150812148135681998160759231340593224787524059384993567619253642859738374890522751502722301228640973352385535814528059287908278674678352643221455078097708537386230468632692143543786079089278143231331448551012324709811279702452779256184630920739523413422282624035439915227985252545794326379126775078358185074208637164548385049952343933304537250581118807518766053939393481540287533027802322405590412993878611099596612132868370166415773181601154351447449360821364030895301897439991811626252222800042408837799445748876986689983744267954539975623901497977921404672456088365607147517753334119523085306549029501450784349931681757118493080278423158884618389416751863515799501941931299333482860034175574234687366084034854559860406380515922622731215797937947749347523567616361602120568917837553302958455697473044355271553097193939898199130578212161450820530733402948944817740996785663578468527435799222211621687841330657355269886610809724657106599734412672509267528377383850891990213998928910925665771135271178329415173122279497587450094043452968217137897325537655382191951751305922520305745720481516125474084463651538358435467578314496534799610440729366870223201955669253868969728058316618723047893958806793103141691041934281198205584987981081000108093858653439624897454612814469707610638127291418381351191694294777021231948012520106211264528527924444201382244571278473214765325480705119868390993533790074524744095675902347116176374826615934187667836147701248099347800023505688743794273915955274979733822944679464000508774509390349906781765163794451106428726498478530824886867498104246201491752880954757001517163612506498931595524274363029567180050754500432532286684708062072343197640125970583268910454330495069475260464330960780880190756901690402890214548943068478380757588861100818684623184339329031152871493812892138965016318354449639572431218054475101906966356246728290357749255900892206636706659073323666601520176669794618490222246109251969096246673833325909200541908647265810778433581200066738963648865628467965987974276129559867820082461324727175812909248560556153989070551651206916397043015129112324174041078381598687340367330369743574483768123513914466078688385552657957466373141833312470005872038158158558758597782287039757518156507558332909095180665881503900399254393925538499082517233770693477475440628379280827399682320040292147212671478850267113144256467717832789836095684233795606474628605577407950893979220730884373604393712239399619598622515105407684769318956407495911888144725372198319167914080204643210431914238821762306355036590446232568753016880799686685880210761285646606345578580056778051890680006982633074396045998096007046814297317508472091232768681594848779768724106961419347315786049071217250606391912412090036387359478549697004116901877456389276560046168633296499987754935871886741805805544288336626689145248219392479520665544572592654825874224723479880277722687977622479652630381460400253566835128569128126839849213424501027798623052330552639340014466433204854284282451838267652596510117073421554349769115596747847222786403991672125861002797993917039353677197561761018603077826216853034619545722932609155001960887797757724784083641663152934067672560173435725465409431333528091135523120222385280011570777644633992350683777567415457830142061356335821132623807179012101446605207533723888496145283691342928263101524024846536249138277962355381236115191250993587394690915625304012223449766194430885987517644469628964169109557807580762078537823980480277465642584796467360214177043602577120889280685824649388496001273597116159134970313980353087497406685979214581267102484657541875734018573130363674965905476673163481843821632051283681039720334533765017564509447055586120874529359775805844927319441709905022001704116387838005555153895216897265575940773948153176057832585460429745756094209528141488349976396674145584278724158836079117395297220622272613076439797697250956341920663130800734933155473346047738298666918898902058007968877485494163402560976541434704853172824135465265265413974659965992895056898571176505487405592027170864616186946549268484945297743480501600120064292645208037740939399240094229556634953081272586550404921251625234389912469589310281012901392380576054483238327215960879621215969418846522922054542058918325244657436478923637305716604682937562502625439542890870560297001951641986789624288562889846686525163088338471193186909768839469313807434287938259075089209910815237602035006864287774116054689067777229371270478665958455578247242113942197143505270008270270882191459688500066171521085054637377654252805754437567172842547938504092900808035624181824913689212947749777436293373997711125153064037803130649030656558546371288595296468051919653790009777109517042131035126573157883183656149031966290078048334686709613718875861993309644523724063515318637150743743389819818443552464423324971361456328433637001544653164638134029593641252649445564245102383007994865579077339457095651502941609117808906309223556024161286929108818191092639537820354261080758077666630753705679538620750240666605592530730238594235539574877759961712126221403282110319210039096970244934331283753007521745745837118120875705449296773432071049524935985944109558437494014526628545805285283211428212254815968453350353270667791149002454020746551663288384513504477866563520997609007704638752734240019484187769074642477074635474178236636866384721352427137750376744613001123164665522329698946864898915127542184529485587658494587744364754108361832698602920926798129076766271689152063216892000068702714408279505019745577786412160670706124505985662713657321905320058533322793579237307804061839083228241436729193118794125128602094745055040576711788450457579614174565175802897167080710639994745840408397188506013885908234200079470657560761093726188202968121735561672223506544407698071001104638286697863716911974871887889137352956177408235640187026335370180204269652496414622509246371913138867876466852915702002493457796630152391077246573798902025599992921947798890245930826255604543179370599273579602413517025291509137312565324651045766230943157633671851484144506416775604281483649665758671646087878710299223648600430794245286634276337844861170064580136723171347269810295795858398334220900459465680922702870972535103576876292907307652387534960191148834056753451657660931145515183543034393594453522937133734797355509943645187648731036090794950906104283431878826206307827524070028872299576965917050394234259986403377998509485079981363227077920026415618622428351304948072774838856801910366262559417442075232876162498709886882802124652312784435273507112770600208831184523646975165214379848407565171174246809997646009632924601230290592771311174549485322280542389123380462520652882111312033936289163788141960823931696888562106170237706550474284332740770252213900167894107284777482550350071361367151033525557171242907760562806679088740080478417471947819864720913692727336875658905474567774039096016299963871473601740086381354357179117749979110998112356352808189165842640207385776942252523358810039236078255183525529059874835125061234394074934909132255049783257541224053548198808652934695191418942834052371211524505976359110862030354610440635466142233137032127828857341531945816347930334509783514826135049690966965590328180073893837602188523301252123322723686120745275718705335983789003879497358018233759586456552862045742698107466630548973174919196570904489890564814069316083928253565097210010972987364689613782060247756229844584102377898827698947656763349306029039082478169225459931807461582437866510644539950728909670405185406776395849139556079466224657039622466467248175545823623111884112843786943196766907877471459634386322517853379671635861176446902694845586618133960389483456792263969375099395117758301586552554735290557282182649471723233085316948575654535258764959248191371622912245057971788968465050758911262576841267180636859779757898070212042118711333384216610181492870803869468282666126519808348146096589922650048641772202198072403546045272458781263186976049222383319870833843327375945414614154247992477644715054102005628243992111786180131664024016803330080223139821644587273437441338849555910477687563186510842007994149483363916523106835536022015378348641756245301023218771922044525978889328011515196392351153367647898428790542145817468347061491199973362848006838675577998841359685950026995771734056969750046174178343024201957430428174909217623707800454587541547999372447814554325540261532995290859332208048663519065389569542084421397802194571699591730237799757313714472333153018836276577894871710374936427805210334149251476143194011904103580927705512657445792637448210801981406325898853914731016758315659836542449366051395779886791126380622850691083405899521557705689988227787187036384654263022977011149854400284754958678411636633870582670219621470547411288183081931679714837078992548282323330288773323468937974805019102283375562950349861921150037994035660525472554512367270458369512316693424357275110365137080817513123195148755802178179447803099975134439746839174283338011413458411062894320960126845861170742217107400439529873590483426646151584669746270815795201有9775位,用时2.773438秒(这个是模仿手工计算的大数乘法程序的结果,是两个4888位的整数的积,二者差别不大。)
作者: ysr    时间: 2021-3-29 19:07
51444229357009705498695689284160971250193663383685210722150319744748775359122621528344215567083355670451907707693695837668324532850937176166588968634971139183302944833231893556295527896594077197129683597374136482318846544941701249766624000228057981356208443093502034625140604633339848200752173361946073443933346789602235781489339265452071638593776798421165371350248039954188944931286347716381898468113203126395308096792045894764315383795943237773890910465023815013059495056496724871504126056937676152194017082586564255521359261172753102346344494396469595605609421590317944043262260210909685857159849340378368552043197433615054904807889517283559504278373784460368569113363131710769835820089387297714801594555823592854988704942365609400006675160359031426873189564916688157908871243159770851740287846140780388606189695088738739890281656349398834057714656014963811425778390967293708624696915124185083358253535415644842673421215970474230001345828538569798140378601982017699635604641896116818157526044389838198605640572986233402266712761883020099586847825852569572633701763853682554585791118171276290617527340763544892267893370992480349897757098894560281081444642200626464175280985766718573874535680797829930258859640467605975042123111209918827618958945189505091121483858392668384880612255585916669716284514087584598182477078462206558057506025592975910027871273238862247532142535304676640617802030742222960345363855404313399047401003487305799083062451448366617957439158876389882006128158868398932966157003013761952381180690259470099567236607352405809832062578837136250716574574579522256441099557123545025010455224534286356038287679467507270968220021752586057851958248281269629815734877522064508505836721271069799255388491881486092874373981729570391000600273130647608003884599134232877090354958661859302013690470784659120935109719008283905031446377686879466478045757200145506558765235925036276576557385932514483699842243149208969282746209709419000514005516153201916481898006122396813081056743478375585046327305139099481259493354791535353470596487135876104084480625694746373732139586666314758175807030769874378033442682310307356160417978581128218551702424951416328358067700064372855643925169324018021327979713630891489119622752405679286914020988030448289607684851348500009160752114318891422323287600744067214121279440814680222046223856018417356144265724960183154333728716795115561038777021231935282986402700568064230483785799261322243714775230452755725527745146038608379279371001059967865321588174151914448536764775571037973578615327517787408788110985059461002169522785318617192307181693912992506307237500768953476768331681769333002572457840566000897380416071260754878761637173736498974911969752452488135860414907554677006408084497006257159827526348595849150261985348894347311347517189966140266360964227057248211214217659928629919303435391331416005120712207885720558321487799867161206930119103421771539467972103190393682250678522174960152378558439347627175162302619603705648848836071399024952529324687084982408118133017688448503109968656956645896946048480192314682432260264700576584216400878957654828825043888501929204984177904045285658372920051397094163047427295220711030006037232321404778543967047068762469285923373134681085248777362783958346205544202145418889769398157784788073149611548376761403141486538737770037141788493712960577959363480197591519111672946073730752057180868229313890208584096158682612983816343504413873052032480697167353489552278817781586058680359059156908344548036320135631306944489774771528702304735014143703760557177453543349547306529570340616768780151482760598479170615193602006664327138648948903916355739633941308270162516652059915050276438874381771645536407119546307308602110808277470379413233095030335295424468989074162174390506430440009184822224831604762135197176296894482438955676023632858283866605177371220933941389487447042997313276813513817803438354917453446883162229251748984107795718851147870601783924833259787594255023342306507456912443550071030208718860669407813729848666895788392476265844821715329237813888850815099292377748527880672005186227029038313166577070820370953922393125548815784762480716999231112838148069211991950691916501447592610394499065364322013748152127893784838593797607394388436881471937572499635297772411428360587893831743999745591711694693866191043576499340546602519838932679411958977012716186665359051582479709075417158528580483757833679410253083165945296785222695885577370900864071489012430843034944645603735379195280025613435712355924314863811743827795636679833650340711437233826412874652976815458887323384054546632106872673123116398730467840212063933927344401665367273527255946758376081228079255930764904350921454271841369617097419767513579178639155380978815461543065893696532971327449461004174429220963114041363358314967725204392567409853114511718894307643631546965958312484908065383823412217473440414293824284526555873270491143183361295864967579855246996091265048027505060900834170125556562162551537434196084600631467998911190053595844510705466496573548607039396055020292262150204441825829591438698284355118563291933426381855788871060610209574041839838563877291133446841765141550790969420019931335118024135668252727429127277327010080630091503155817732502505948089862964510448572293708413555811826477198946284299249803359083101179231919079840587424089773469686969520331879450331982721475249327999487251751706346378904072199908362843325220090261748886455160894534618900524452334077230251228488177710026608285448160668895830056429900594111638920726702786607673617753884316181608986919842867230781499147892959393862062647527840625613367260491383202053809699049034845359408558078426790922884585937878706447640430037617295337479822942307036309880435190016603292587486670770400968414436062177558340485732399593574684408579852251099386440664715996472709503190326196112431776618496342463773705376557608878531398366891436246005211525105666657143754195682576243436684531565851133669499217182871786042547448128547212489534533546411302123733919227701350343114374027823388734105029451217607019122130451356635147739804673043366197888574741979984899062514977342811387470137829504434138089419313384856038171340813037212988564310965985781906223971603099448077768724135527428122903252985599516402675987118370871380711527621573873393516573976063479848524423462759835964891140012324519173599725428642361361068172851167497848080021674536204331012403670169210980245848637217188648225885977646348516324041545657194185298974033231835117142779160262801229836405621105156783013717293536138550388508105732780981390645713029332581014063684679894314776432826464392770191976441860111883369553100497643960158535828927475846412468513508489123966058178757981628231867323711011231048794489345211468916742191198636966985422920179595657981341141062164406674532648463185396609770870332096252014035092123588963978186735580042580980613737391270774574213143757755751883697069852771105226235745249016819851687618696867463252231114439968978315083108484001519759452354526279002448467845301138631933065317711752431130991417899009156710209089292811908604830563989259580154993086863603158178515104290720648309883842154082224320839725606296732000727693290524485776120935752414418878472294890371499306931907333324291401972007455632345852614250072853013012945436065975597114539565733294131761811647833005562233059897155413908820498684050997196891056374240379032318837109547689273707681611089403544408082721706473290499334235612885568011460256849727085076206079416052803280267260901684609292031897483601056570760086223345132418690406912044967840699532837777220337619001021407001693004319410408897824474243886961978574987768049128885543011697013044774759574717419644216280288616892251878750272403720502483146688505324945767567603316888720316011709842454310651905842456995717854658757793940654403097119500347184685565541435883956074212634458392169744262789777168587077633132878974370677442014549387267164340953922822251829239556879502763379039928986242814762702287157067194761335256675433555182851552352559991526456925347432747802313921075996819327317045132012617429811514074091399778997352474383606992439461610335483557936315809083490277649333569801959919272603011494193988786624013003967741881377298599206260756300231164329090886437111987872720242305957228698555912625065064190559304307358760347745521482896132605885281933616758212828592849681187675942076108113302381355104587574017181942465845495743839422229373653337202363728823896447570459309176646022547055965908445087430566732527561871546926404773102702246224432048449625109060660865222942173680372653073214268518784549567040501706919286193522820203414453082285837784675002393243795648411455249436388354108402298751663579641903923191755243458068049821399981406775187846920082329567089639393166189818386498916654186263236746984358665027637042973344271992431897184463116294348226018092986777330214101355286966888649547882946125231255079867781801266501967591409148337945555826175412217168447872930279389750371330475222596227129424190226136945764125273213822292916011181314116041792889396828595293322573584664017942843601763015910665616185100397070932698993189981899381369135145511919573824148872130362626325230263479916318230804739942853734691756919928756697652976490810473211849549241540762725813953930723190981637783368720629485864681219674862805281147123618369648219443914697265568489851644682338839594389798528686503462752556326463179413487639267322415342021661782198643045709866905617952560578490556995925761572422791790301321190815276469688285495731079969527242665460676072017966646761444343077050015427344485571444722043920393227173574788963017083103163316444721989304354943010481162291435220957200362001334215839785830443382672730119778260821583383111451900319444250424299632477082943256751087979956039788474826051431864034319164099434231538605886844512806083616770766960087352987672015999042087729725781568286209406499243012959626824729965732513083229107853316988026294855503591736817573411617977947178208066444763813946497537177960407804717683672825555900801570001045932685213150713168976874486410808232884111284116849192046563587472241672721878241374262778692543921036556437946028395526409981294253566007077328459635350092391027510311495022125935258197839081781965238971815941968757378341840909860278122918583537172655464084578030518848395326814814456132883655661283681249889602236359262040400558570790171815660578083313993394461197281232297422713635025375641835990588962917099757664795913739285794804584291009040868823532558841628119620925183471868549875466869188177505153666816394414723340641917940584361952079149498472812583260283068474480931678707056484324850617712080359691709776941095013091829445946057432761370542300314779715321334444713774581590337903939304335909307068426671584496871726571881716132948915253704707757591533442524766019672022390979146952076988143810119460236213746430762268682680881266193571871275412676250005946379188555706192188797559909736689205175849641808468634255402172023571037451793254632295935051586694477304538469945188289019295200159220308693052779069996610410807643313071567412266891845626199284108038066722454050607460343612828334672893446961781157291360507072467245161203248910944820605505200092458974605093030860910582001473119924624666059366859402896927689627338088946903630539201357537667544050090484167449839531197820233786114078819811021106435602077046525168822817484701691857941842610951041540933624358100404417526666393254423241305531332656040937125802579759144773272698768734115898512979467030085752261239459124785925303945800057294337283034726565387490196322782696275866332909498542885176995360658669350521506241872044343484849039111278156718242956572497097964273494066835685213469554652278302245504686473612394277905766130772765098235866298788034884139914359215975798397470111738433639102076952796435209264028021537229892074058188314207373272605636038651334696444286919565721890569881338463783989882911019234792486535699025646311275122274411175404155342249234136558802674731197305641190947858045969993105751983395792065828920796822805820210093174577065491814597082131393031622787491679856332477759009694178317375318368821390264654174039670932709831161255202873640489281967716308473047243229957004765412706536236472670869025902543540633101208028807552552098389091790435906088326534470239980054716807416750322521229220241568933467553431576752163460745670475952435493987314007198258850504885411059106007738740875539832452249589294006659624780916723181534511714197062648856491091688501221471717806381749888298525407248789423897932623271498241668092001196586363981364139438871535239207176214827065069539651733601100753810180878379274361295578405732661254466632895143727844665840866498240003655962932105277876459272466979831529282048840956209056998769042430627753436065929805338741393335042911200731019721288387249286505188391256813428739747714333379066876823883520130766201876860791210671538076160347755324700164074813292068568024238519482741252954199964042782225233360037022137076218722706203773213869098586993370170155683791146032975636525838513708976569134302322432642077565826389896215245438300187570310860480000533906713082013024652830860757006343956987254278284858371619486860324713636557288734182121660245924031628622394404845468842376014364491369333932732440011789862081204289182566535179044033371514444457023620546865608494829671941096306770681862607086197624365511249841742601689637943827647739753192488830108748993946646301337601457492499972685876684793341277398602275214653549915139511130070900252357536321474687124983694348062078037402632623766476692775678286881806982898247107838472527399024338405174424815001165897166650159739515463438185108038327958294258499979123263522591261654749484216293043245130713211428672161827666045403900761515335614916042818935205318832501058428630546098253028977703603252002538386142310863661394203801021650102355428530278355411821233551959475904697750988996697656852598884502119976493604708637198826791035572233637351986210864977795898608556238023618301984537915608930604362302527908670790232196653470383452730966437820907710683243209361014219861979941950841987346107743208561925389719631737184861993943843888754529081140961004120569137972767939179238123227568371028391438266058282117268996237434183830334056161593410007851958385930853757794469184653666509613683966762973275802915748207536233835944456492079672432074637652862475003545406240942715300755523944206787863863868182421896839656869884217377578751607363166640679526547616649957166113180795819300698729245904023050382738288763601955657437404388004070623572376563051583388185752588363242342948072258707770222618411368623353933153416998674556673828083953385859553887650200322341613752381777915208516249775540573681407970842264880494895043357543980075647268121681730910097533515842996052774514769117001511705236715668019747243088644998257802328991106887493129666979551568128160024931577019249231036351291752174562619839669581224559705587165708372744726224186073126971717311245980502449125273456503801187274837306224135490894291619763228475986831005594442019148473818854081438056466447549945298051927502134555522991323435490985690831389052274735020726873487488936336741311539022782075508436837487924255181698061213905084162235118210017590721240114251909624811608300914878701408771328813975283269700679765515272835500581808493660164914406678948764808907820590793942802060935667588289909747897748137923192813443141480658391350876193378672782928937239541344428644252704346833459652953893206406021977446066148428686466508087550385252943740960874819825685873233082410626669803645777952677637448050496360102884890873362567118473457647334943807551216752659414686723198905670826134278959453835743722477363868599024571425315726635962538691827224412670447061058393874398485976231917079164327494510859626266588302051504090008261830241447676880203477502787354055343155909715421429375559706133130062628561848592810462408089869178098913629053121350338706001334665817189902339046551719256269486698716494374181056432863341577867140583392107410719128329725480841263789204392440976393893147168046831929228725690454484457819357719649568902018996210157275940520779431450165038526154612104633755692499830669045602271953235366951774644612761172006231769432808233696581070645788729238857402139382484239571166108453915459654362102096518732505237161776583876207193384586878498200605001469543462091485286217093489852123877116301695514263030360771288829090506779042608299705238648514904644323593225819202326098687550889491884085512718311228273159016624975588461535331385403944334397175727312393731559924877557033314268586667576404657042621504624638607780996250155298180711760908316799169764459037945988617689968900369456126826878874149283922399651015788901381482653828757633905291968811496239411234225169841339242923224920997069592927984613452201769764034361265590100376142758102242622751137816624390201799073002914764480438293862303619444424411900873478825309592215448378122673841321459836000301987706900055719812275088409764751071712511442535378273186891677663024136055784679879071700250103941840442827882641509903924818054983813117941436780546475991140251422964511376459380443852419759687830723215798218632573151723785873786668931387512213704069753751304404757469294652741201772267969380591573730352006518268264387324760748171401960363123143642534623196505119663743478694232226992854384052020587978193751769297437110799401666654270086352480363252583084900758706469183711968216421628482651660307315276372014948429733174841247185477453980848109772474843390892942983417487561937787738211071008447243561370883755652297106343676574456572441499153044391296359081444755171879623563709723059551688149772138242004430113752660263595301467681684666765111293583112596306703249487247014559398847582739773923562193048979815510679889238537948008801349956448663808114950270788702178103140036903038677125953796297346185669646277919571450148386833367083965328745661813784675396536308123206255891676600557317868286970806528762125164098195448405530607155298182670078514292122809944389633521146848690175777654805756158929494558044691813620191444798686702502416738793016663859592145359839628493867351786428502743472570771842556696378878472341050391089226772333872594326009783260166152072708644780268603582214015792114037576904183214818892694863534846282524092493194220528298002349242488700100084240660739453383072745053167243114518692729966302221045624162785240731536939992864261703562670127208816099398026935794227709192951849703149047115596988121183064038969430213752390079811597488253736354183223115731539041783376124701639330021544747985885271784834839607317621722963550990654667932700528378860171449142719544032621794550522980007985794164463018892770934144461839455108854280165247825770088985804072882008966279297216038293653289676057511596687371673495287395608114205035151184670802174286673891799830707522027275731687638894711538425640185422616776596308786129781753251068811069644860389343200897476243854920541316146283393481744301776367207189490814060219073419415657802608088338315148976176160344214995925269677377836011427268405733942592393857163978388774692466472603273657739324678810087878647853020613664828824493174871401222712465054920359567267915297137560103994397010364062156242658159355701818701158670419430421561539793933721747077276577835553268786089595585704020376187707801620157668465506675415808792836465976733317453992349443769780601397893341502030028303188671864249117064284001630914762068848485387551204510364030708525634372360381675401963161254572822349974630401有19550位,用时5.6875秒(这个是利用快速傅里叶变换的程序的乘法结果,是两个9775位的整数的积,而那个模仿手工计算的程序显示内存溢出,无法计算和比较了)
作者: ysr    时间: 2021-3-29 19:19
51750801837147361345408953922231823615475578427966187002956389087112242842559611794590895524485015222232340190036677951157401229518412775512617768569186939216558814320044037671525512763073762127357272238470370174050144130962253437215369727381909754581075278888137687950749577751967083233227932391898438489520107788418593104216764745143648165875043861634459264809523254076330115365651752264033578829280651927862062277153553168278640509846511729608378923480331705134467105387853440058108864733429085916392927954109944314725590758950098556991513109760871599045355054258610189920009222629391227784118536578933067532162200768112408111142115021110731900107445187734955403922470144187293970602024056652942406064101184615113779243566842311336047149767396006622923831778833173731302325162741660053390002572456069410383734906953419854919650114722834689335022576764661864630532595250136417800041415827379233503655173380741283758557001102498493237113089198106283487003030225058520047964863929279622015825870972146222540614667928697270131499340362072956956518213266361286372027834000838185920579641835952404678850816456467012890793914108776148483471455515695596694573035435841962871983614397882366460940068418989292218104650923374259244879331938925143014431488635252724366437874702141802712286424754174951797598162531093933772708024046029028652425912112434874797404878317364682580259997737809632860143160557722236459697738869857870982308547756781808568834445404196611833859447257611721058384661943492980180884154939581533269700568975940675513953240040220315659784214936947443784598154082110443748171557676558299300252057475022409541083454882202785077569281268346332901357829843950754331120530978456454396022570647840977328115888711408099894489014427119253061839770890965114853246067272044090282103668762164047374624856119676063310166566519499552342907590495696658359542582469176737197423550084705962160477441546453931948920780829433665262356431973422034925001341330921812806939990688094288773216182971976433480031438271163051341645350474631300965486818841553843112688792803367397276204832936049162335586140151875524537720425345701193713093955432559579831822084761702059241698184717469616732582600658006352069963017377661059372648121969448644394344799369193952197519795756182552461838014896498816263546256621347748100920475049252091842372001283217811864786225692344297842649982716736752004086642881662614773154743879410328420184057019873899911520017723788801*
51750801837147361345408953922231823615475578427966187002956389087112242842559611794590895524485015222232340190036677951157401229518412775512617768569186939216558814320044037671525512763073762127357272238470370174050144130962253437215369727381909754581075278888137687950749577751967083233227932391898438489520107788418593104216764745143648165875043861634459264809523254076330115365651752264033578829280651927862062277153553168278640509846511729608378923480331705134467105387853440058108864733429085916392927954109944314725590758950098556991513109760871599045355054258610189920009222629391227784118536578933067532162200768112408111142115021110731900107445187734955403922470144187293970602024056652942406064101184615113779243566842311336047149767396006622923831778833173731302325162741660053390002572456069410383734906953419854919650114722834689335022576764661864630532595250136417800041415827379233503655173380741283758557001102498493237113089198106283487003030225058520047964863929279622015825870972146222540614667928697270131499340362072956956518213266361286372027834000838185920579641835952404678850816456467012890793914108776148483471455515695596694573035435841962871983614397882366460940068418989292218104650923374259244879331938925143014431488635252724366437874702141802712286424754174951797598162531093933772708024046029028652425912112434874797404878317364682580259997737809632860143160557722236459697738869857870982308547756781808568834445404196611833859447257611721058384661943492980180884154939581533269700568975940675513953240040220315659784214936947443784598154082110443748171557676558299300252057475022409541083454882202785077569281268346332901357829843950754331120530978456454396022570647840977328115888711408099894489014427119253061839770890965114853246067272044090282103668762164047374624856119676063310166566519499552342907590495696658359542582469176737197423550084705962160477441546453931948920780829433665262356431973422034925001341330921812806939990688094288773216182971976433480031438271163051341645350474631300965486818841553843112688792803367397276204832936049162335586140151875524537720425345701193713093955432559579831822084761702059241698184717469616732582600658006352069963017377661059372648121969448644394344799369193952197519795756182552461838014896498816263546256621347748100920475049252091842372001283217811864786225692344297842649982716736752004086642881662614773154743879410328420184057019873899911520017723788801=
2678145490787694710138406683675886762424440548647327525594133873038347266950777818028529804877891353347244255046176220880989519574806598935727647635506939520211209794328712328126947740602255036264392628020291100698432900022333877728824270241063030019536831205264726059774673235680796770108334187808344470141093691232926021244583649747591446066921535333854157441330339217364515328375889937313870826987520723914810358707312468857074455945610038118763873992681688857200178452843740327143990247797893489008808544535536081089994800692174759199578596435124153437689121057209523619989593900355037400039597165241729693472001589594642879166693443994939359639600558001937547209387175085119128575833396037478944824322315197771750730768383267287661855880237549141571520374996029107650341071074081501632143441365461865431362023790463469688071768208320226561675630348708531708110373889241713511809029065048200924851629507265095151843687852114948736130517024578482059771284515915597919026074110811882700307150650858080695566672584075215926450360584738705106755945308199980660478183563586945902705730231409948938478910176292179410952310592864745025373902249844607078729230098512959498522851990040833671698873183076996740726479481352429756295966452788332789259316653805673821716832204368483794501474641036177256005810416507649770210480747056764697918800240201155395628561684853684747063434500664449114760179367086926249813006056735202795763742271472136500817313178050955623517148960973128433455798444839070215800699075256371341531892841721456473301085595261371522078416420399702683504171019191363372883472415693921509069484448792009627325245658854979159002549542769741504596589556474585723101403486046952706847309188488390899096649210853675228464611999630360164703837131620319658277117300208326944026347808645954842782309633205645471959842390075986572806483755223497552549948718545978420793425036666212191832327909389117021539426917904222971515424022606157676379417252939026404363841301595348953340657745965591468370831371449860774296757556463049237248472613472436666799615694672489600751763956185893123579218797539971253828850163437053164723845196089466298000486042246621634263064752906475198879616484926366053597071510886820878425907736453843197228282179943365206039514850477377542684361730162273246709577442085159313947668552462343596819299335060863266863059421286080919061657175757802930378698062290163092494909661982639303946271889619023417245433500782685534406291391527022657608608130680134939380126048353657648559735671562230714451258764762350451448379438849319710473631625533527602085050858633346936315115309333355986556546113134787213610042970405680162084678021281774169131725296977361816657904233850711837826724976507876061043779177845550646612327663283839673950405472039432309339110648301347672597370034346896334064135099613033528785924976781865447506814375627647103020761819104412269362847848884053177378762432543285984193091289854949394023586451139393716370633759317698908834326333339634557238526607966375935960004339535161203546369910853171524516945554862019134684985868547068709986010719120259421723270478586992153989283736650948010894951434857207445141886625290777550599700738909777829412358941157674866550887608199469723859806486384262574182811908513849905040209776132986875560077482527819093584150609347560543627976011009349905362597935257895287412087233810106693141683912683308201407373637490835862452911394718399632093441745957478079754723679119343225931665785380948807114301164623717144211285944154289093317610519159281033583963015810556464180819928345256832572962092994993950655913067768151113345566231088759030148164710287289335782462899525700500822021472132532771242198844498579102733028256523810973405350508253183399668290339844052874956694050028526577775764032598023622192221226501334606994447870277619118208162133562541678250491647671042612088902952091163094215645902682086024337098910110924115381788866213335441814530141911754446270296630426675020592640816713810936850961517475097707179713115856513919631998747192606018612535436009162735908155778165736923393260822217415131632296810207091918499370220533980666393617256227781299273913099896641458499949922475383775878771011361417556799406151773618626138749998464514570482965286184387350245762317271666329142667987131139265167425606863654107927682419958167046956962340419295394058625063862272314570914511355913547470055072878835349142049813368019960713974852351833144227544851625677753419141348585495260230041111323576432417502998832485027071744397105338790364666312325483218209150368759120749671419554589928540715813531144241705501211397506662448276056294585639532800634727428900861538486753011006379264618338782036690340859441153926551954112364946638768223012718907190897165613382555036872673785444132692292217184974818914501886689736449912131900762592363447945036085692999163815947845753538999001633767986447907729462453017601有4888位,用时1.296875秒(这个是利用快速傅里叶变换的乘法程序的结果,是经过优化后的程序,比起那个模仿手工计算的乘法稍微慢些)
作者: ysr    时间: 2021-3-29 20:56
Public Function MPC1(D1 As String, D2 As String) As String 'jiafa
  Dim x, Y, jw '两数长度

If Len(D1) >= Len(D2) Then
  d4 = String(Len(D1) - Len(D2), "0") & D2
  d3 = D1
  Else
  d4 = D2
  d3 = String(Len(D2) - Len(D1), "0") & D1
  End If
  x = Len(d3) \ 8: Y = Len(d4) \ 8
d3 = String(8 * x + 8 - Len(d3), "0") & d3
  d4 = String(8 * Y + 8 - Len(d4), "0") & d4
  x = x + 1: Y = Y + 1
  Dim a() As String, B1() As String, C1() As String, E1() As String
  ReDim a(1 To x)
  ReDim B1(1 To Y)
  ReDim C1(1 To x)
  ReDim E1(1 To x)
  Dim I, J, C2, CJ
  For J = Y To 1 Step -1 'D2
  jw = 0 '进位清0
  B1(J) = Mid$(d4, J * 8 - 7, 8) '每位数
For I = x To 1 Step -1  'D1
     a(I) = Mid$(d3, I * 8 - 7, 8) '每位数
   C1(I) = Val(a(I)) + Val(B1(I)) + Val(jw) '计算jia
   If Len(C1(I)) < 8 Then
   C1(I) = String(8 - Len(C1(I)), "0") & C1(I)
   Else
   C1(I) = C1(I)
   End If
     jw = Left(C1(I), Len(C1(I)) - 8)
     E1(I) = Right(C1(I), 8)
    Next
    Next
    For r = 1 To x
    If jw = 0 Then
    MPC1 = MPC1 & E1(r)
    Else
    jc = jc & E1(r)
    MPC1 = jw & jc
    End If
    Next
   MPC1 = Trim(MPC1)
  End Function
'改进的大数加法程序,这样可能更快些。
作者: ysr    时间: 2021-3-30 22:18
可见,利用快速傅里叶变换的乘法计算太复杂,不节约时间,优点是不占用内存,可能利用快速数论变换的乘法好一点,可惜咱不会。
所以,准备采用模仿手工计算的乘法与分治法结合的办法试试。

谢谢各位老师,祝您晚安!
作者: ysr    时间: 2021-4-1 22:27
2678145490787694710138406683675886762424440548647327525594133873038347266950777818028529804877891353347244255046176220880989519574806598935727647635506939520211209794328712328126947740602255036264392628020291100698432900022333877728824270241063030019536831205264726059774673235680796770108334187808344470141093691232926021244583649747591446066921535333854157441330339217364515328375889937313870826987520723914810358707312468857074455945610038118763873992681688857200178452843740327143990247797893489008808544535536081089994800692174759199578596435124153437689121057209523619989593900355037400039597165241729693472001589594642879166693443994939359639600558001937547209387175085119128575833396037478944824322315197771750730768383267287661855880237549141571520374996029107650341071074081501632143441365461865431362023790463469688071768208320226561675630348708531708110373889241713511809029065048200924851629507265095151843687852114948736130517024578482059771284515915597919026074110811882700307150650858080695566672584075215926450360584738705106755945308199980660478183563586945902705730231409948938478910176292179410952310592864745025373902249844607078729230098512959498522851990040833671698873183076996740726479481352429756295966452788332789259316653805673821716832204368483794501474641036177256005810416507649770210480747056764697918800240201155395628561684853684747063434500664449114760179367086926249813006056735202795763742271472136500817313178050955623517148960973128433455798444839070215800699075256371341531892841721456473301085595261371522078416420399702683504171019191363372883472415693921509069484448792009627325245658854979159002549542769741504596589556474585723101403486046952706847309188488390899096649210853675228464611999630360164703837131620319658277117300208326944026347808645954842782309633205645471959842390075986572806483755223497552549948718545978420793425036666212191832327909389117021539426917904222971515424022606157676379417252939026404363841301595348953340657745965591468370831371449860774296757556463049237248472613472436666799615694672489600751763956185893123579218797539971253828850163437053164723845196089466298000486042246621634263064752906475198879616484926366053597071510886820878425907736453843197228282179943365206039514850477377542684361730162273246709577442085159313947668552462343596819299335060863266863059421286080919061657175757802930378698062290163092494909661982639303946271889619023417245433500782685534406291391527022657608608130680134939380126048353657648559735671562230714451258764762350451448379438849319710473631625533527602085050858633346936315115309333355986556546113134787213610042970405680162084678021281774169131725296977361816657904233850711837826724976507876061043779177845550646612327663283839673950405472039432309339110648301347672597370034346896334064135099613033528785924976781865447506814375627647103020761819104412269362847848884053177378762432543285984193091289854949394023586451139393716370633759317698908834326333339634557238526607966375935960004339535161203546369910853171524516945554862019134684985868547068709986010719120259421723270478586992153989283736650948010894951434857207445141886625290777550599700738909777829412358941157674866550887608199469723859806486384262574182811908513849905040209776132986875560077482527819093584150609347560543627976011009349905362597935257895287412087233810106693141683912683308201407373637490835862452911394718399632093441745957478079754723679119343225931665785380948807114301164623717144211285944154289093317610519159281033583963015810556464180819928345256832572962092994993950655913067768151113345566231088759030148164710287289335782462899525700500822021472132532771242198844498579102733028256523810973405350508253183399668290339844052874956694050028526577775764032598023622192221226501334606994447870277619118208162133562541678250491647671042612088902952091163094215645902682086024337098910110924115381788866213335441814530141911754446270296630426675020592640816713810936850961517475097707179713115856513919631998747192606018612535436009162735908155778165736923393260822217415131632296810207091918499370220533980666393617256227781299273913099896641458499949922475383775878771011361417556799406151773618626138749998464514570482965286184387350245762317271666329142667987131139265167425606863654107927682419958167046956962340419295394058625063862272314570914511355913547470055072878835349142049813368019960713974852351833144227544851625677753419141348585495260230041111323576432417502998832485027071744397105338790364666312325483218209150368759120749671419554589928540715813531144241705501211397506662448276056294585639532800634727428900861538486753011006379264618338782036690340859441153926551954112364946638768223012718907190897165613382555036872673785444132692292217184974818914501886689736449912131900762592363447945036085692999163815947845753538999001633767986447907729462453017601有4888位,用时17.67188秒(这回可能结果对了,速度不快,不过也算是一种方法。这就是结合模仿手工竖式乘法做的分治法程序。)
作者: ysr    时间: 2021-4-1 22:28
发一下这个程序供大家参考,欢迎老师探讨沟通和指导帮助!谢谢!
(看来,最快的应该是数论变换式的乘法程序,可惜咱不会呀!)
下面是代码:

Private Sub Command1_Click()
Dim a, B
Dim ja(), jb()
a = Trim(Text1): B = Trim(Text2): a3 = a: b3 = B
ts = Timer
If Len(a) < Len(B) Then
a = String(Len(B) - Len(a), "0") & a
B = B
Else
a = a
B = String(Len(a) - Len(B), "0") & B
End If
x = Len(a) \ 300: Y = x + 2: x11 = x
sb = Y * 2
a = String(Val(sb * 300 - Len(a)), "0") & a
B = String(Val(sb * 300 - Len(B)), "0") & B
x = sb / 2
ReDim ja(0 To x - 1): ReDim jb(-x + 1 To x - 1)
For I = 0 To x - 1
ja(I) = Mid(a, Len(a) - 600 * I - 599, 600)
jb(I) = Mid(B, Len(B) - 600 * I - 599, 600)
'倒序输出,减少加法计算量,提高速度
Next
For i0 = -1 To -x + 1 Step -1
jb(i0) = String(600, "0")
Next

jw2 = 0: jw3 = 0
For i1 = 0 To x - 1

d3 = ""
   For i2 = 0 To x - 1
a1 = Mid(ja(i2), 1, 300): a2 = Mid(ja(i2), 301, 300)
B1 = Mid(jb(i1 - i2), 1, 300): b2 = Mid(jb(i1 - i2), 301, 300)
C1 = MbC(Trim(a1), Trim(B1)): C2 = MbC(Trim(a2), Trim(b2))
c3 = MPC1(Trim(a1), Trim(a2)): c4 = MPC1(Trim(B1), Trim(b2))
c5 = MbC(Trim(c3), Trim(c4))
D1 = MPC(Trim(c5), Trim(C1)): D1 = MPC(Trim(D1), Trim(C2))
D2 = MPC1(Trim(C1) & String(600, "0"), Trim(D1) & String(300, "0"))
D2 = MPC1(Trim(D2), Trim(C2))
d3 = MPC1(Trim(D2), Trim(d3))
Print qqdl(Trim(d3))
  Next
  d3 = MPC1(Trim(d3), Trim(jw3))
  d5 = d3
  If Len(d3) <= 600 Then
  jw3 = 0
  Else
  jw3 = Left(d3, Len(d3) - 600)
  End If
  d3 = Right(d3, 600)

d4 = Trim(d3) & Trim(d4)
Next

d4 = Trim(jw3) & Trim(d4)
d4 = qqdl(Trim(d4))
d10 = Mid(d4, 1, 88)
Text3 = d4 & "有" & Len(d4) & "位,用时" & Timer - ts & "秒"
End Sub

Private Sub Command2_Click()
Text1 = ""
Text2 = ""
Text3 = ""

End Sub

Public Function MbC(D1 As String, D2 As String) As String
Dim x, Y ';两数长度
x = Len(D1) \ 4: Y = Len(D2) \ 4
d3 = String(4 * x + 4 - Len(D1), "0") & D1
d4 = String(4 * Y + 4 - Len(D2), "0") & D2
x = x + 1: Y = Y + 1
Dim a() As String
ReDim a(4 To 4 * x + 4 * Y, 4 To 4 * Y)
Dim I, J, C1, C2, CJ, JW, s, t
For J = 4 * Y To 4 Step -4 ';D2
JW = 0 ';进位清0
C2 = Mid(d4, J - 3, 4) ';每位数
For I = 4 * x To 4 Step -4 ';D1
C1 = Mid(d3, I - 3, 4) ';每位数
CJ = Val(C1) * Val(C2) + JW ';计算乘积
c = I + J: r = 4 * Y + 4 - J
a(c, r) = String(4 - Len(CJ Mod 10000), "0") & CJ Mod 10000 ';本位
JW = CJ \ 10000 ';进位
Next
a(c - 4, r) = JW
Next
Dim B() As String
ReDim B(1 To x + Y)
JW = 0
For s = x + Y To 1 Step -1
Bit = JW
For t = 1 To Y
Bit = Bit + Val(a(4 * s, 4 * t))
Next
B(s) = String(4 - Len(Bit Mod 10000), "0") & Bit Mod 10000
JW = Bit \ 10000
Next
If B(1) > 0 Then
MbC = Val(Left(MbC, 5)) & Mid(MbC, 6) & B(1)
Else
MbC = Val(Left(MbC, 5)) & Mid(MbC, 6)
End If
For s = 2 To x + Y
MbC = Val(Left(MbC, 5)) & Mid(MbC, 6) & B(s)
Next
End Function

'该程序已经做了修改,是模仿手工计算的程序,采用4位一组,在位数少于5000的时候,此程序居然比快速傅里叶变换的乘法还快!

Public Function MPC1(D1 As String, D2 As String) As String 'jiafa
  Dim x, Y, JW '两数长度
If qqdl(D1) = "0" Then
MPC1 = D2
ElseIf qqdl(D2) = "0" Then
MPC1 = D1
Else
If Len(D1) >= Len(D2) Then
  d4 = String(Len(D1) - Len(D2), "0") & D2
  d3 = D1
  Else
  d4 = D2
  d3 = String(Len(D2) - Len(D1), "0") & D1
  End If
  x = Len(d3) \ 8: Y = Len(d4) \ 8
  If 8 * x < Len(d3) Then
  d3 = String(8 * x + 8 - Len(d3), "0") & d3
  d4 = String(8 * Y + 8 - Len(d4), "0") & d4
  x = x + 1: Y = Y + 1
  Else
  x = x: Y = Y
  d3 = d3: d4 = d4
  End If
  Dim a() As String, B1() As String, C1() As String, E1() As String
  ReDim a(1 To x)
  ReDim B1(1 To Y)
  ReDim C1(1 To x)
  ReDim E1(1 To x)
  Dim I, J, C2, CJ
  For J = Y To 1 Step -1 'D2
  JW = 0 '进位清0
  B1(J) = Mid$(d4, J * 8 - 7, 8) '每位数
For I = x To 1 Step -1  'D1
     a(I) = Mid$(d3, I * 8 - 7, 8) '每位数
   C1(I) = Val(a(I)) + Val(B1(I)) + Val(JW) '计算jia
   If Len(C1(I)) < 8 Then
   C1(I) = String(8 - Len(C1(I)), "0") & C1(I)
   Else
   C1(I) = C1(I)
   End If
     JW = Left(C1(I), Len(C1(I)) - 8)
     E1(I) = Right(C1(I), 8)
    Next
    Next
    For r = 1 To x
    If JW = 0 Then
    MPC1 = MPC1 & E1(r)
    Else
    jc = jc & E1(r)
    MPC1 = JW & jc
    End If
    Next
   MPC1 = qqdl(Trim(MPC1))
   End If
  End Function
  
  Public Function MPC(D1 As String, D2 As String) As String ';jianfaqi
Dim x, Y ';两数长度
If Len(D1) >= Len(D2) Then
d4 = String(Len(D1) - Len(D2), "0") & D2
d3 = D1
Else
d4 = D2
d3 = String(Len(D2) - Len(D1), "0") & D1
End If
x = Len(d3): Y = Len(d4)
Dim a() As Integer, B1() As Integer, C1() As Integer, E1() As Integer
ReDim a(1 To x)
ReDim B1(1 To Y)
ReDim C1(1 To x)
ReDim E1(1 To x)
Dim I, J, C2, CJ, JW
For J = Y To 1 Step -1 ';D2
JW = 1 ';yu jie weichuzhi
B1(J) = Mid(d4, J, 1) ';每位数
For I = x To 1 Step -1  ';D1
   a(I) = Mid(d3, I, 1) ';每位数
   C1(I) = 10 + a(I) - B1(I) - 1 + JW ';计算jia
   JW = C1(I) \ 10
   E1(I) = C1(I) Mod 10
  Next
  Next
  For r = 1 To x
  MPC = MPC & E1(r)
  For I = 1 To Len(MPC)
    If Not Mid(MPC, I, 1) = "0" Then
        Exit For
    End If
Next
strtmp = Mid(MPC, I)
  If Len(strtmp) = 0 Then
  MPC = "0"
  Else
MPC = strtmp
End If
  Next
  
  
End Function

  
  Private Function qqdl(sa As String) As String

  
  For I = 1 To Len(sa)
    If Not Mid(sa, I, 1) = "0" Then
        Exit For
    End If
Next
strtmp = Mid(sa, I)
  If Len(strtmp) = 0 Then
  qqdl = "0"
  Else
qqdl = strtmp
End If
End Function

作者: ysr    时间: 2021-4-2 09:58
把那个模仿手工竖式计算的乘法程序也改为分治法,会怎么样呢?能提供速度吗?有空了试试!




欢迎光临 数学中国 (http://www.mathchina.com/bbs/) Powered by Discuz! X3.4