1、高中数学知识应用参赛论文倒数的计算与其补数的次幂的联系作者姓名:谢长龙性别:男所在学校及年级:清华附中高一年级指导教师:周建军摘要:本文提出并验证了一个实用的新型计算方法,它能更快地计算出一个已知正整数的倒数。通过引入“补数” 这一概念,本文将一个正整数的倒数与它的补数的幂有规律地叠加之和建立起联系,从而更简便地求出这个数的倒数。关键词: “补数次幂叠加法” ,倒数,补数,叠加一、问题引入99-1=0.0101010101010101,而 100-99=01,发现 100 以内的数的倒数与 100 和它的差的次幂的叠加可能有联系。二、概念引入“补数”现规定,若已知一整数 a 满足 10n-1a
2、10n,且 则称(10 n-a)为 a 的补数。由此可1,Z知 。10,baZ问题可转化为 100 以内的数的倒数与它的补数的幂的叠加之间的联系。已知整数 a,若将其补数表示为 ,又假设 ,则 ,或写作a10,nnaN10na另外,我们将在“补数次幂叠加法” 中作为第 n 个加数的数定义lg10a, 其 中 为 高 斯 符 号 。为该倒数的第 n 层叠加。 三、提出假设100 以内的数的倒数与它的补数的幂的通过特殊方法叠加得到的和有联系。四、建立模型现拟一张表格,按照已知的 99 的倒数的规律,将 98 的整数次幂依次纵向排列,并且让每一个次幂 2x的最后一位都相对于它的上一行的数即 2x-1
3、向后移动两位( ) 。现在以 98-1xZ的计算过程为例,用这种方法计算其前 27 位(第一行为实际值,最末一行为叠加值):0 1 0 2 0 4 0 8 1 6 3 2 6 5 3 0 6 1 2 2 4 4 8 9 7 9 50 0 11 0 22 0 43 0 84 1 65 3 26 6 47 1 2 88 2 5 69 5 1 210 1 0 2 411 2 0 4 812 4 0 9 613 8 1 914 1 60 1 0 2 0 4 0 8 1 6 3 2 6 5 3 0 6 1 2 2 4 4 8 9 7 9 5可以看出,这种计算方式和实际值完全相同。所以这种方法是有可取之处
4、的。那么,97呢?96 呢?66 呢?16 呢?这些数字利用这种方法计算出来的倒数都符合其实际值吗?五、计算验证:用上述方法计算 93-1的值。经检验得知,0 1 0 7 5 2 6 8 8 1 7 2 0 4 3 0 1 0 7 5 2 6 8 8 1 7 20 0 11 0 72 4 93 3 4 34 2 4 0 15 1 6 8 0 76 1 1 7 6 4 97 8 2 3 5 4 38 5 7 6 4 8 0 19 4 0 3 5 3 6 0 710 2 8 2 4 7 5 2 4 911 1 9 7 7 3 2 6 7 4 312 1 3 8 4 1 2 8 7 2 0 113
5、9 6 8 8 9 0 1 0 4 014 6 7 8 2 2 3 0 7 215 4 7 4 7 5 6 1 516 3 3 2 3 2 9 317 2 3 2 6 3 018 1 6 2 8 419 1 1 3 920 7 921 5220 1 0 7 5 2 6 8 8 1 7 2 0 4 3 0 1 0 7 5 2 6 8 8 1 7 2这种方法几乎适用于 80 以外、100 以内的所有整数,仅仅是计算量大小有所不同罢了。根据此法的特点,我权且将其命名为“补数次幂叠加法” 。但是,当试图用这种方法计算 2 的倒数时,我们就会明显地发现,这种算法并不能很快地算出其准确值,因为其计算量极其
6、庞大。那么,我们能不能直接证明这种方法是普遍正确的呢?六、 “补数次幂叠加法” 的证明。证明: 02426121010nnsaaa 2 3101220na2100na 2lim1nn 2li100nnsaa所以,这种算法是普遍正确的,并且是理论根据的。七、方法的推广既然这种方法对于 100 以内的整数都适用,那么任意大小的整数是不是都可以用“补数次幂叠加法”计算它们的倒数呢?类似地,现有一已知满足条件的 b 位数 a(条件见上文) ,则拟一张次幂规律排列表格,按照 10b-1 的倒数的规律,令每一个次幂(10 b-a) x的最后一位都相对于(10 b-a) x-1向后移动 b 位。这样叠加得出
7、的原数的倒数的值是正确的。现在对其进行求证。推广证明: 02311010bbbnbnsaaa 0b1100nbba1nbba limnbn li11010nbbnsaa所以,这种方法是有普遍的适用性的。今以 998 为例,对上述证明进行验证。八、四则运算0 0 1 0 0 2 0 0 4 0 0 8 0 1 6 0 3 2 0 6 4 1 2 8 2 5 6 5 1 3 0 2 60 0 0 11 0 0 22 0 0 43 0 0 84 0 1 65 0 3 26 0 6 47 1 2 88 2 5 69 5 1 210 1 0 2 411 21213140 0 1 0 0 2 0 0 4
8、0 0 8 0 1 6 0 3 2 0 6 4 1 2 8 2 5 6 5 1 3 0 2 6定义已知整数 a,假设 ,则其补数 ,或写作10,nnaN10na在“补数次幂叠加法”中作为第 n 个加数的数称为该倒数的第lg10a, 其 中 为 高 斯 符 号 。n 层叠加。现再行定义其四则运算的计算规律。 1 1lg1 lg1lg lg1 10000n ni iai iai iABbb b。令 与 分别为 A 与 B 的第 n 层叠加, 、 、 、 分别为 A+B、A-nBnAnBnAnBB、A B、A B 的第 n 层叠加。则有如下公式,以供从已知推及未知:nnnABb由上述四则运算定义可知
9、,该运算满足加法、乘法的结合律。例:计算 1938九、实际应用0 2 0 9 5 6 7 6 9 8 0 4 6 9 6 0 7 10 0 10 0 11 0 21 0 72 0 42 4 93 0 83 3 4 34 1 64 2 4 0 15 3 25 1 6 8 0 76 6 46 1 1 7 6 4 97 1 2 87 8 2 3 5 4 38 2 5 68 5 7 6 4 8 0 19 5 1 29 4 0 3 5 3 6 0 710 1 0 2 410 2 8 2 4 7 5 2 4 911 2 0 4 811 1 9 7 7 3 2 6 7 4 312 4 0 9 612 1 3
10、 8 4 1 2 8 7 2 0 113 8 1 9 213 9 6 8 8 9 0 1 0 40 2 0 9 5 6 7 6 9 8 0 4 6 9 6 0 7 1 2 4 6 0 5 5 5 71、平时学习:因为这种方法可以有效地减少某些“相对大数”的倒数的计算量,所以,在计算正整数 a(10 n-1a10n, )的倒数时,若 a7.510 n-1,则可用普通方法;若1Z7.510n-1a10n,则可用此法,以减少乘法的运算量。不仅如此,化减除为加乘的方法本身也可减少出错率。2、计算效率:现以上文所提到的 93-1的计算过程予以说明。注:因为现代计算机的计算速度相当迅速,现假定计算机进行加
11、、减、乘、除的单次运算时间相同,均为 t。例:分别用一般计算方法与“补数次幂叠加法”计算 93-1到第 27 位。平常算法计算量:26 次除法,26 次减法;“补数次幂叠加法” 计算量:22 次乘法(1 次为移动小数点,即乘 0.01) ,23 次加法。 ;12652tt23+45tt 10%103.6%t节 省 时 间 百 分 比 为所以说,计算机在这次运算中,若使用“补数次幂叠加法” ,其效率可以提升 。13.46%推而广之,一般地,若计算任意数 a 的倒数(现假设 75a100)至 b 位,则平常算法计算量一般为(b-1)次除法, (b-1)次减法;“补数次幂叠加法”计算量一般会进行(b
12、-4)次加法。那么,会进行多少次乘法呢?设其为 n 次。现假设到这一位的倒数值由截止到其下一位的数值相加和决定,则由“补数次幂叠加法”的表格推演方法必有: 21lg01nnab其中,左式为所有次幂数的末位的总退后位数;右式第一项中运用到了高斯函数,此项代表该次幂数的总位数。根据表格运算的具体步骤可知,这其实是一个恒等式。 21lg0nab为简便起见,将高斯符号脱出化简得到 l1c其中 c 为 的小数部分。g10na 2lb 01750ca; 2.512lg 15lg0.763l10bbcbba 15.532lb平常算法计算量:(b-1)次除法, (b-1)次减法;“补数次幂叠加法” 计算量: 次乘法, (b-4)次加法。12lg0bca因此“补数次幂叠加法”计算量比平常算法要少算 至 次。若用 来表示0.53b21bn“补数次幂叠加法”计算量比平常算法少算的次数,则 一定随着 b 的增大而增大(常理可n得) ,随着 a 的增大而减小。由于日常要求至多为 4 位小数,则代入计算可知 的值始终大n于等于零。所以说, “补数次幂叠加法”比普通计算方法在日常生活中更具优势。(全文完)