1高中数学知识应用参赛论文倒数的计算与其补数的次幂的联系作者姓名:谢长龙性别:男所在学校及年级:清华附中高一年级指导教师:周建军2摘要:本文提出并验证了一个实用的新型计算方法,它能更快地计算出一个已知正整数的倒数。通过引入“补数”这一概念,本文将一个正整数的倒数与它的补数的幂有规律地叠加之和建立起联系,从而更简便地求出这个数的倒数。关键词:“补数次幂叠加法”,倒数,补数,叠加一、问题引入99-1=0.0101010101010101……,而100-99=01,发现100以内的数的倒数与100和它的差的次幂的叠加可能有联系。二、概念引入“补数”现规定,若已知一整数a满足10n-1a10n,且1,nnZ则称(10n-a)为a的补数。由此可知10,babZ。∴问题可转化为100以内的数的倒数与它的补数的幂的叠加之间的联系。已知整数a,若将其补数表示为a,又假设11010,nnanN,则10naa,或写作lg110aaa,其中为高斯符号。另外,我们将在“补数次幂叠加法”中作为第n个加数的数定义为该倒数的第n层叠加。三、提出假设100以内的数的倒数与它的补数的幂的通过特殊方法叠加得到的和有联系。四、建立模型现拟一张表格,按照已知的99的倒数的规律,将98的整数次幂依次纵向排列,并且让每一个次幂2x的最后一位都相对于它的上一行的数即2x-1向后移动两位(xZ)。现在以98-1的计算过程为例,用3这种方法计算其前27位(第一行为实际值,最末一行为叠加值):010204081632653061224489795001102204308416532664712882569512101024112048124096138191416010204081632653061224489795可以看出,这种计算方式和实际值完全相同。所以这种方法是有可取之处的。那么,97呢?96呢?66呢?16呢?这些数字利用这种方法计算出来的倒数都符合其实际值吗?五、计算验证:用上述方法计算93-1的值。40107526881720430107526881720011072493343424015168076117649782354385764801940353607102824752491119773267431213841287201139688901040146782230721547475615163323293172326301816284191139207921522010752688172043010752688172经检验得知,这种方法几乎适用于80以外、100以内的所有整数,仅仅是计算量大小有所不同罢了。根据此法的特点,我权且将其命名为“补数次幂叠加法”。但是,当试图用这种方法计算2的倒数时,我们就会明显地发现,这种算法并不能很快地算出其准确值,因为其计算量极其庞大。那么,我们能不能直接证明这种方法是普遍正确的呢?六、“补数次幂叠加法”的证明。证明:∵0242612210101010nnsaaaa……2224361210110101010nnaaaa……11222111010110naa21110100nnaa5∵2lim1101nnna∴211lim110100100nnnsaaa所以,这种算法是普遍正确的,并且是理论根据的。七、方法的推广既然这种方法对于100以内的整数都适用,那么任意大小的整数是不是都可以用“补数次幂叠加法”计算它们的倒数呢?类似地,现有一已知满足条件的b位数a(条件见上文),则拟一张次幂规律排列表格,按照10b-1的倒数的规律,令每一个次幂(10b-a)x的最后一位都相对于(10b-a)x-1向后移动b位。这样叠加得出的原数的倒数的值是正确的。现在对其进行求证。推广证明:∵0223110101010bbbnbnbsaaaa……2233110110101010bbbbnbnaaaa……11111010110nbbbaa111010nbnbaa∵lim1101nbnna∴11lim1101010nbnbbnsaaa所以,这种方法是有普遍的适用性的。今以998为例,对上述证明进行验证。60010020040080160320641282565130260001100220043008401650326064712882569512101024112121314001002004008016032064128256513026八、四则运算定义已知整数a,假设11010,nnanN,则其补数10naa,或写作lg110aaa,其中为高斯符号。在“补数次幂叠加法”中作为第n个加数的数称为该倒数的第n层叠加。现再行定义其四则运算的计算规律。11lg1lg1lg1lg1111110101010nniiaiiaiiAaBbabbb令,。令nA与nB分别为A与B的第n层叠加,nAB、nAB、nAB、nAB分别为A+B、A-B、AB、AB的第n层叠加。则有如下公式,以供从已知推及未知:nnnABABnnnABBAnnnnnABABABBAAbAB由上述四则运算定义可知,该运算满足加法、乘法的结合律。7例:计算11939802095676980469607100100110210720424930833434164240153251680766461176497128782354382568576480195129403536071010241028247524911204811197732674312409612138412872011381921396889010402095676980469607124605557九、实际应用1、平时学习:因为这种方法可以有效地减少某些“相对大数”的倒数的计算量,所以,在计算正整数a(10n-1a10n,1,nnZ)的倒数时,若a≤7.5×10n-1,则可用普通方法;若7.5×10n-1a10n,则可用此法,以减少乘法的运算量。不仅如此,化减除为加乘的方法本身也可减少出错率。2、计算效率:现以上文所提到的93-1的计算过程予以说明。注:因为现代计算机的计算速度相当迅速,现假定计算机进行加、减、乘、除的单次运算时间相同,均为t。8例:分别用一般计算方法与“补数次幂叠加法”计算93-1到第27位。①平常算法计算量:26次除法,26次减法;②“补数次幂叠加法”计算量:22次乘法(1次为移动小数点,即乘0.01),23次加法。∴1262652ttt;22123+145ttt∴1215245100%100%13.46%52ttt节省时间百分比为所以说,计算机在这次运算中,若使用“补数次幂叠加法”,其效率可以提升13.46%。推而广之,一般地,若计算任意数a的倒数(现假设75a100)至b位,则平常算法计算量一般为(b-1)次除法,(b-1)次减法;“补数次幂叠加法”计算量一般会进行(b-4)次加法。那么,会进行多少次乘法呢?设其为n次。现假设到这一位的倒数值由截止到其下一位的数值相加和决定,则由“补数次幂叠加法”的表格推演方法必有:21lg1001nnab其中,左式为所有次幂数的末位的总退后位数;右式第一项中运用到了高斯函数,此项代表该次幂数的总位数。根据表格运算的具体步骤可知,这其实是一个恒等式。∴21lg100nnab为简便起见,将高斯符号脱出化简得到∴2lg1001nabc其中c为lg100na的小数部分。9∴12lg100bcna∵0175100ca;∴120.5122lg10011115522lg5220.70.6332lg100bcbbabcbbbba∴1550.51332lg100bcbba①平常算法计算量:(b-1)次除法,(b-1)次减法;②“补数次幂叠加法”计算量:12lg100bca次乘法,(b-4)次加法。因此“补数次幂叠加法”计算量比平常算法要少算0.53b至2313b次。若用n来表示“补数次幂叠加法”计算量比平常算法少算的次数,则n一定随着b的增大而增大(常理可得),随着a的增大而减小。由于日常要求至多为4位小数,则代入计算可知n的值始终大于等于零。所以说,“补数次幂叠加法”比普通计算方法在日常生活中更具优势。(全文完)