1、中学趣味数学:巧断金链一位来自阿肯色州的年轻太太格罗丽亚,正在加利福尼亚州旅行.她想在旅馆租用一个房间,租期一周.办事员此时正心绪不佳。办事员:房费每天20元,要付现钱.格罗丽亚:很抱歉,先生,我没带现钱.但是我有一根金链,共7节,每节都值20元以上.办事员:好吧,把金链给我.格罗丽亚:现在不能给你.我得请珠宝匠把金链割断,每天给你一节,等到周末我有了现钱再把金链赎回.办事员终于同意了,但格罗丽亚必须决定如何断开金链的方法.格罗丽亚:我该三思而行,因为珠宝匠是按照他所切割和以后重新连接的节数来索价的.格罗丽亚想了一下,悟到她不必把每一节都割断,因为她可以把一段段金链换进换出,以这种方式来付房费
2、.当她算出需要请珠宝匠割断的节数时,她几乎不能自信。你想一想需要割开多少节?只需要割开一节。这一节应是从一端数起的第三节.把金链断开成1节,2节,4节这样三段后就能以换进换出的方式每天付给办事员一节作为房费。啊哈!领悟到下列两点才能解题.第一,至少需要有1节,2节,4节这样三段(即其节数成二重级数的一些段),这样才能以各种不同的组合方式组成1节,2节,3节,4节,5节,6节和7节.我们在药品混乱问题中已经知道,这就是作为二进制记数法基础的幂级数.第二,只需要割开一节就可以把金链分成符合要求的三段.关于这个问题,若把金链的长度增加,则可以想出一些新的问题.例如,假设格罗丽亚有一根63节的金链,她
3、想把金链割开,以上面那种方式来付63天的房费(价格不变).要达到此种目的只需要割开三节.你想出来了吗?你能否根据金链的不同长度设计一个通用的解题程序,要求分割开的节数为最少?有一个有趣的变相问题:若所经手的n节首尾相连的闭合回路,例如说格罗丽亚有一串金项链,由79节相连而成,若每天房费为一节,试问最少需要分割开几节才能支付79天房费?所有这些问题都跟二进制记数法有密切的关系.比如格罗丽亚的63节金项链如何分割?只要将63化成二进制表示:等于111111即63=1+2+4+8+16+32只要将从第二节开始的两节割开,再将从第八节开始的八节割下来,和从第32节开始的32节割下来即可,这样就有了从1
4、,2,3,4,5,6,直到63的所有节数.一般地,若有n节金链,n是形如2k-1类型的数,将n化成二进制表示,再将所有1的位置所代表的2的幂的数相间隔地割开即可达到目的.但是对于其他任意类型的数,却不能奏效,比如对于格罗丽亚的79节金项链,79的二进制记数法表示为1001111.即79=1+2+4+8+0+0+64,这样从1到15都能表示,可是从16到63都没法表示,我把这个问题做到这里,也一时糊涂起来,但这个问题毕竟不是很复杂,咱们也学一学闵科夫斯基在课堂上口出狂言要解决四色问题的劲头,摸索着来解决一把.咱们可以这样:你不是要求节数最少吗?假设n=a+b其中a是已经找到的最大的那一节数,b是
5、比n小的已经解决了的金链问题,由于b已经解决,因此b的拆分能够表示从1,2,3,.b-1,b的所有金链节数,而再大一些的数就不能够表示了,比如b+1,所以必须要a参加进来,如果n是奇数,可令a=b+1,这样n=2b+1,所以b=(n-1)/2,a=(n+1)/2,这样就找到了最大的一节的节数a,然后对b=(n-1)/2继续应用如上的办法,即可解决问题.如果n是偶数,可令a=b,这样虽然a本身不能表示出b+1,但是可以从b的拆分中拿出一个1来(这个1是必须存在的,因为要表示从1,2,3,.b-1,b的所有数)与a组成a+1也就是b+1.所以n=a+b=2a=2b,a=b=n/2.这样也找到了n为
6、偶数时最大的一节金链的节数.对于b继续如上的过程,就可以找到全部应该断开的金链节数,我算出了从1到15的所有拆分如下:1=12=1+13=1+24=1+1+25=1+1+36=1+2+37=1+2+48=1+1+2+49=1+1+2+510=1+1+3+511=1+1+3+612=1+2+3+613=1+2+3+714=1+2+4+715=1+2+4+8对于上面的格罗丽亚太太的79节金项链,79+1=80,80/2=40,所以最大的一节就是40节,79-40=39,39+1=40,40/2=20,所以第二大的一节就是20节,39-20=19,19+1=20,20/2=10,第三大的一节是10节
7、,19-10=9,9+1=10,10/2=5,又找到了一节是5,9-5=4,4的表示法如上已经列出来了:4=1+1+2.最后得到79节的金项链的分割法:1,1,2,5,10,20,40.过去我也碰到过一道类似的题,是23节金项链,也能够很容易地解决:23+1=24,24/2=12;23-12=11,11=1+1+3+6;所以23的分割法为:1,1,3,6,12.显然,对于2k-1类型的数,用这里的办法与用二进制记数法得出的结果是一致的.从上面所列出的拆分法可以看出,如果2k=2k+1,那么n一定要用k+1个数来表示,即:n=a0+a1+a2+.+ak.可以用数学归纳法很容易地证明这是正确的.那
8、么还有没有比这更少的分割法呢?可以证明没有了.从我们的分析方法中可以看出,这是一个构造性的推理过程,假如还有比这更少的分割法,那么相当于在表达式n=a0+a1+a2+.+ak.中进行了某些组合,比如将a1+a2合并成新的a1,那么原来的有些组合就表示不出来了,例如a0+a2,就没有办法组合了.当然,一个数的拆分不是唯一的,前面的23节金链还可以分成1,2,3,6,11.你可以试试,这种分割法照样能满足要求.前面的分析中也可以把(n-1)/2留下来作为最大的节数,但是这样分出来的节数就不一定都是最少的了,例如把15这样分割,会得到:1,1,2,4,7.虽然能够满足付房费的要求,但是就不是最优解了
9、.最后总结一下,把前面的算法过程公式化可以得到:k-1r-1k-1n=(n+c0)/2+n-cs2s+cr2r/2r+1+n-cr2r/2kr=1s=0r=0其中c0,c1,.ck-1等等是1或是0取决于每一步得出的数的奇偶性.其实最后一项等于1,这样可以得出:k-1n-2k=cr2rr=0a0=(n+c0)/2i-1ai=n-cs2s+ci2i/2i+11(i=1,2,3,.k-1)s=0唐宋或更早之前,针对“经学”“律学”“算学”和“书学”各科目,其相应传授者称为“博士”,这与当今“博士”含义已经相去甚远。而对那些特别讲授“武事”或讲解“经籍”者,又称“讲师”。“教授”和“助教”均原为学官
10、称谓。前者始于宋,乃“宗学”“律学”“医学”“武学”等科目的讲授者;而后者则于西晋武帝时代即已设立了,主要协助国子、博士培养生徒。“助教”在古代不仅要作入流的学问,其教书育人的职责也十分明晰。唐代国子学、太学等所设之“助教”一席,也是当朝打眼的学官。至明清两代,只设国子监(国子学)一科的“助教”,其身价不谓显赫,也称得上朝廷要员。至此,无论是“博士”“讲师”,还是“教授”“助教”,其今日教师应具有的基本概念都具有了。ak=1课本、报刊杂志中的成语、名言警句等俯首皆是,但学生写作文运用到文章中的甚少,即使运用也很难做到恰如其分。为什么?还是没有彻底“记死”的缘故。要解决这个问题,方法很简单,每天
11、花3-5分钟左右的时间记一条成语、一则名言警句即可。可以写在后黑板的“积累专栏”上每日一换,可以在每天课前的3分钟让学生轮流讲解,也可让学生个人搜集,每天往笔记本上抄写,教师定期检查等等。这样,一年就可记300多条成语、300多则名言警句,日积月累,终究会成为一笔不小的财富。这些成语典故“贮藏”在学生脑中,自然会出口成章,写作时便会随心所欲地“提取”出来,使文章增色添辉。与当今“教师”一称最接近的“老师”概念,最早也要追溯至宋元时期。金代元好问示侄孙伯安诗云:“伯安入小学,颖悟非凡貌,属句有夙性,说字惊老师。”于是看,宋元时期小学教师被称为“老师”有案可稽。清代称主考官也为“老师”,而一般学堂里的先生则称为“教师”或“教习”。可见,“教师”一说是比较晚的事了。如今体会,“教师”的含义比之“老师”一说,具有资历和学识程度上较低一些的差别。辛亥革命后,教师与其他官员一样依法令任命,故又称“教师”为“教员”。当然,编成计算机程序还是用递归程序比较简单.这里列出这些公式是为了保留存照。第 6 页