乘除及开平方的简捷算法文档格式.docx
《乘除及开平方的简捷算法文档格式.docx》由会员分享,可在线阅读,更多相关《乘除及开平方的简捷算法文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
75
(4)首同尾互补的两位数的乘法。
32×
3881×
89
(5)首同尾非补的两位数的乘法。
36×
32
(6)尾同首互补的两位数的乘法。
23×
8336×
76
(7)首位都是5的两位数乘法。
58×
56
(8)尾都是5的两位数乘法。
45×
8535×
45
(9)一数和为9,另一数为连接数的乘法。
34567854×
34567
(10)首同是9的两位数的乘法。
96×
9593×
93
(11)9的倍数的乘法。
396×
625
(12)一数都是9,乘任意数的乘法。
999×
8673852×
9999888×
999
8276×
999786×
9999
这些算法一般都能减少运算次数,因而可以提高运算速度,但是没有统一,所以无法解决一般性速算问题。
此外还有第44页至51页《求平方一口清》《分位相乘速算法》和第60页至64页《开平方速算法》等。
《分位相乘速算法》的原理和笔者的速算原理已基本一致,但没有发展统一成任意多位数乘多位数,人们的思维仍然停留在三位乘三位数内,无法跳出这个圈子。
《开平方速算法》基本不是速算法,只是对简单平方根的一种估计,不能精确到任何数位。
3.五年级和六年级数学教科书
(1)简便算法
乘法交换律和结合律,使其两数相乘得整10、整100等,如125×
794×
8=(125×
8)×
794。
乘法分配律(即提取公因数),使积和差变成单积的形式,如32×
14+32×
57-32×
28=32×
(14+57-28)。
(2)祖冲之的圆周率早在1500年前,就算到了小数点后第七位,比外国要早1000多年时间,利用现代的计算机、能算到小数点后一亿位,但人类应用π一般取3.14,从未提及精确度和π的取值位数关系。
研究问题
除了以上各文献所著的速算法之外,有没有更简捷的一般性速算法呢?
研究方面:
①任意多位数的乘除及开平方的快速算法。
②精确度和π等的取值位数关系。
研究方法
以上两个研究课题所采用的方法都是同级项之和求各级梯阶值速算法。
研究结果
一、任意多位数的乘除及开平方的快速算法
1.乘法速算法
对于任意两个多位数A和B,我们用“|”号都能将其分成两部分:
A=a|a'
B=b|b'
其中a和b分别叫因数A和因数B的前因,a'
和b'
分别叫作因数A和因数B的后因,并且a'
的位数要相同(若不同须在末尾补零使其相同)。
这时A和B的积可表成:
AB=
+(ab'
+ba'
)×
10n
a、b、b'
、a'
看成是正方形角上的四个数,n是a'
的最小位数。
其中ab叫作积AB的前积,a'
b'
叫作积AB后积,(ab'
)叫作积AB的中数。
(1)叉积和速算法
若A和B都是任意两位数,我们有下面口算速算法
法则任意两个两位数相乘,口算时先算后积,再算中数,后算前积。
若笔算可列成梯阶算式。
这一法则叫作叉积和(或内外积和)速算法则。
例1计算:
A.73×
48B.46×
87
解:
A.
其中24叫零级梯阶值,680=68×
10叫做一级梯阶值,2800=28×
102叫二级梯阶值,依此类推。
4×
3和8×
7叫同级项(73×
8=70×
8+3×
8,70×
8和3×
8叫同位项)。
B.
A是竖式算法,B是横式算法。
不管哪一种算法,都可以口算,它们梯阶值的级数等于两个因数的位数和减一。
任意两个两位数相乘可以列成同级项之和梯阶值算式,是不是所有的两个多位数相乘,都可以列成同级项之和梯阶值算式呢?
结论是肯定的。
因而有下面法则(该法则同时适用所有数的乘法、除法、平方及开平方的简捷运算)。
(2)涨缩中心对称积和速算法
法则任意两个多位数相乘,梯阶值每增加一级,因数区就涨一位或缩一位,并且每一级上的梯阶值等于因数区中各数中心对称两两乘积之和。
这一法则叫作涨缩中心对称积和法则,简称涨缩法则(含前面的叉积和法则)。
例2计算:
A.849754×
60385B.795×
387
C.7693×
50289356(得数保留五位有效数字)。
A将60385倒写成58306,将其末位6和另一因数的首位8对齐,以后每向右移动一位,分别对位两两乘积之和,得各级梯阶值。
这一算法叫作顺逆移动对位积和法(该法适用于高位数的乘法)。
算式如下:
∵因数的首位相乘是两位数,∴积的位数等于两个因数的位数和。
故7693×
80289356=3.8688×
1011-①
A是顺逆移动对位积和算式,B是竖式算法,C是横式算法。
不管哪一种算法,因数区都具有涨缩的特点,而且梯阶值都等于因数区中各数对位或中心对称两两乘积之和。
例3计算:
A.603842B.7100
注:
①后面带“+”表示不足近似值,带“-”号表示过胜近似值。
B.∵725=78×
3×
7=57648013×
7
=33232930569601×
5764801×
=191581231380566414401×
=1341068619663964900807
∴7100=13410686196639649008074(算式略)
=17984650426474121466202803405696493492512492
=323447650962475799134464776910021681090720319890462540093389533139169145963692806001
平方运算次数约减少一半,B式应用珠算求梯阶值很快,这是传统计算方法很难解决的问题。
(3)混数速算法
各位数字既有正数,又有负数的数叫混数,如66205755=73806255,73806255是混数,66205755是纯数。
例4计算:
A.3564×
74305B.29493962
C.637×
987654(一个因数各位成等差数列)
A.∵3564×
74305=4444×
74305=(11×
74305)×
4括号内的乘法可作如下加减:
B.∵29493962=30506042
C.∵637×
987654=777×
987654
这三个算法非常简单快捷。
例5计算:
52947694443245163748×
7980354986663485901847098
原式=5305231444325244252×
12020355013343514102253102
将第一个因数倒写,并和第二个因数组成移动对位积和卡求各级梯阶值。
方法如下:
第二十级梯阶值算式②
∴原式=577541402618486115335260656428722411331417304(对位相加得此数)=422541397382486085335139344428718408668603304
这一算法叫作移动对位公因积和差五项式速算法。
简称五项式速算法。
这一算法是否正确,可应用纯数进行计算而验证(算式略)。
在速算梯阶值的式子中,凡和1或1相乘的数,写在对位的线下;
余下的凡和2或2相乘的数,写在对位线下的○里;
余下的凡和3或3相乘的数,写在对位线下的△里;
余下的凡和4或4相乘的数,写在对位线下的□里,最后余下的是52或52。
在对位线下写数时要注意取号:
对位同号时取“+”省去不写,对位异号时取“-”写在数的上面。
这一算法是速算当中的重大突破!
例6已知:
725=1341068619663964900807,求750的值
750=13410686196639649008072
=13410714203440451008072
∴原式=1798465163353428154620281741430350751251249(对位相加得此数)=1798465042647412146620280340569649349251249
①式计算如下
7080015404430241701431
20344045100807
(4×
1+0×
3+4×
4+4×
1+3×
0+0×
7+2×
1)×
2+42=6×
2+16=28
②式计算如下
(0×
1+1×
3+5×
0+4×
7+4×
4+0×
2)×
2=57×
2=114
每一式都只需计算画线部分对位积和的2倍及“△”所对的数的乘积之和。
这一题把纯数转化为混数时,有7、8、7这三个大数没有转化,是因为这三个数的前面一位都是零。
如果将它们转化带负数时,则前面一位就是非零数,这样达不到简化运算,反而增加计算的繁琐。
(4)正方形和差对边叉积和速乘法
中数的表达式除了叉积和以外,还有下面三种表达方式
法则任意两个多位数相乘,前因相乘作前积,后因相乘作后积,正方形一边上的和对边上的差与减数所在的另一边上两数的叉积和作积的中数。
这一法则叫作正方形和差对边叉积和速乘法。
这一法则对所有的两个多位数相乘都成立,但不一定达到速算,当差为零和互补时运算最为简捷。
《神童速算》中的前因相同后因互补或前因互补后因相同的两位数相乘,其速算原理就是法则中的①和②(即下面的推论1和推论3)。
①例1计算:
A.73624×
6424B.78963×
2943
A.
这里a+b=800,a'
-b'
=0,故中数=800×
24。
B.
这里a+b=78+2=80,a'
=963-943=20,故中数=80×
943+2×
20。
后积的位数等于后因的位数和,不满这个位数,要在后积前面补零使其满位,下同。
如242=0576。
②例2计算:
A.6874732×
687257B.99933258×
99866734
这里a-b=687-687=0,a'
+b'
=4732+5270=10002,中数=10002×
628。
这里a-b=9993-9986=7,a'
=3258+6734=9992,
故中数=7×
6734+9986×
9992
式中有四个乘法算式已有三个非常简单(两个适用消九速乘法,后有例题),只有后积应用涨缩中心对称积和法则。
7839574×
7830426
这里a-b=783-783=0,a'
=9574+0426=10000,中数=783×
10000
7830783×
4269574
由例3,得推论1
两个多位数相乘,如果前因相同而后因互补,则(前因+1)×
前因作积的前数(此时已加入中数值,故不能称前积),后因相乘作后积,并且前数和后积相连,就为所求的积。
也就是
若a=b,a'
=10n,则AB=(a+1)a|bb'
由例4,得推论2
两个多位数相乘,如果一个因数的前因和后因相同,而另一个因数的前因和后因互补,则(互补的这个因数的前因+1)×
另一个因数的前因作积的前数(此时已加入中数值,故不能称前积),后因相乘作后积,并且前数和后积相连就为所求的积。
若a=a'
b+b'
=10n则AB=(b+1)a|bb'
推论3
两个多位数相乘,如果前因互补而后因相同,则中数=后因×
10m(m为A和B的最大位数),故中数只需在前积和后积相连后,从个位起的第(m+1)位上加上后因就为所求的积。
如97436×
2636
以上各例求中数都能减少运算次数,从而提高运算速度。
(5)消九速乘法
在实际应用中,我们经常遇到两个因数里含有很多个9,这时我们可以应用下面方法来计算,就比较简单。
99967×
998
998=(100000-33)×
=100000×
998-33×
(1000-2)
=99800000-33000+33×
2
=99800-33|33×
=99676|066
=99676066
由例1,得消九速乘法则
两个多位数相乘,若位数不同,须在位数小的因数后面补零使其与另一个因数的位数相同,然后将其中一个数减去另一个数的补数作积的前数,这两个因数的补数的积作积的后数(此法则对所有两个多位数相乘都成立,当两个因数含9的个数较多时,可以达到简化运算)。
注意:
积的前数和后数的位数和不满两个因数的位数和时(特殊情况是两个因数的位数和-1),须在后数前面补零使其满位(如例1),超过两个因数的位数和时,积的前数和后数的中间部分须含位相加,使其位数恰好等于两个因数的位数和(如下面例2)
99923×
835
835=83500-77|77×
165
=83423|12705
=83435705
其中
(1)、
(2)主要是以省去繁琐的加法算式来提高运算速度,(3)、(4)、(5)的最大的特点是以减少运算次数来提高运算速度,这是任何速算法都无法实现的,特别是(3)中的五项式速算对任何数都成立。
2.除法速算(请看下节二中的例2)
3.开平方速算
例3求的值
1732应用了传统的计算方法(改写)求得,然后把1732当成一位数,应用涨缩法则继续求。
这样只求首(但不舍尾)可以免去无用的计算尾巴,从而又提高运算求度。
这个值可以无穷地求下去。
二、精确度和π、等的取值位数关系
小学数学第十一册,在计算圆的面积、周长、直径时,π一般取3.14,在计算操场内外圈跑道起跑点时,π取3.141592,但并不向学生交待为什么?
尽管祖冲之的圆周率早在1500年前已经算到小数点后第七位,并当作一种成果写在课本上,作为我们中华民族子孙的自豪和骄傲,但我们现在却无法准确而灵活地应用。
同级项速算理论可以解决这个问题。
例1.计算:
782π(保留整数,并指出π取何值才不影响精度)。
782π=6084π
∵首位6×
3=18是两位数,∴结果整数部分是五位数(因数整数部分的位数和)。
故782π=19113+(这个值可以无穷地求)
这是求一个r=78的圆的面积。
义务教育教材上π取3.14,则782π=19103.76,这个值看起来似乎是精确到百分位,其实得数只有前三位是准确的。
从上式看,当π=3.141592时,才不影响精确度(注意:
最后一级梯阶值56有可能是三位数,使十分位上的4变为5)。
250÷
π(得数精确到百分位)
这个商的整数部分是两位数。
我们把除数π当中的3.14看作一位数。
∴250÷
π=79.58-(这个商可以无穷地求)
这是已知圆的周长求圆的直径的算式。
义务教育教材中π取3.14,则商=79.62-,这和商的实值误差太大。
从上面的算式可以看出,商要精确的百分位,则π=3.141592。
例3已知圆的直径d=米,求圆的周长C(得数精确到毫米)
圆的周长C=π,=1.732…倒写成…2371,算式如下(对位积和):
∴C=π=5.441+(这个值可以无穷地求)
这时π取3.14159,取1.73205才不影响精确度。
例4求π2的值(保留九位有效数字)。
后三位数078因受后面梯阶值和进位影响,所以不是准确数字。
∴π2=9.86960440+(这个值可以无穷地求)
从算式中可以看出π取3.14159265358时,才不影响精确度。
讨论
(1)在乘法运算中,按传统的计算方法,是用一个因数的每位数,去乘另一个因数各位(即同位项),然后将所得的结果相加。
这样就存在进位加法和繁锁的加法运算,计算时一定要列式或借助计算工具,因而无法解决口算问题,且两个因数的数位大了,就很难计算。
此外,除数的数位大了也很难计算。
王相力的《神童速算》中的《个类乘法一口清》《求平方一口清》《分位相乘速算法》等,这些算法零乱分散,没有统一成一种算法,因而无法解决一般性速算问题;
以及教科书中的乘法交换律、结合律和乘法分配律等,都只解决了某些特殊数的速算问题,也不能解决一般性的速算问题。
史丰收的《快速计算法》,和王相力的《神童速算》是一致的。
他们一味追求从高位算到低位,从而产生26句很不容易记忆和运用的进位口诀,使人感到难学。
什么叫作速算法?
我认为能够把算式简化而达到减少运算次数的算法,才叫作速算法。
对速算法还没有准确定义之前,人们总一直把史丰收演算的速度,认为是算法的速度,那是错误的。
这正如网上下载的“698758×
964857类似这样的题……,哪一种算法可以几秒钟算出来?
”其问句倒不如说:
“有哪几个人能像史丰收那样可以几秒钟算出来?
”史丰收能够达到的速算水平,是因为除了他有超常的口算能力外,还和他一生苦练的结果有关,那是一般人永远无法达到的,本文的速算法主要是以减少运算次数来提高运算速度,没有加造口诀,不需花费时间苦练,一学就懂。
(2)精确度和π等的取值位数问题,教科书等都从未提及,在实际应用中一般π取3.14,因而计算的结果和实值误差很大。
这是因为传统的计算法很难把精确度和π等的取值位数联系起来,而史丰收的《快速计算法》,也没有提及和解决这一问题,看来只有同级项速算理论才能解决。
可见其速算法的先进!
结论
同级项科学速算法解决了以上两个问题。
其运算的特点是:
快、准、易学,而且不受任何条件限制。
因此值得推广。
现在无论数位多大都可以计算,如果任意给出一个一百位数乘以一百五十位数,要求某人在半天内拿出答案,现已不成问题。
尽管人类目前用不上这么大的数字,但在理论上已经解决了人力无法解决的难题。