九连环九连环九连环是一种流传于山西省的传统民间的智力玩具 它用九个圆环相连成串,以解开为胜 据明代杨慎《丹铅总录》记载,曾以玉石为材料制成两个互贯的圆环,“两环互相贯为一,得其关捩,解之为二,又合而为一” 后来,以铜或铁代替玉石,成为妇女儿童的玩具 它在中国差不多有二千年的历史,卓文君在给司马相如的信中有“九连环从中折断”的句子 清代,《红楼梦》中也有林黛玉巧解九连环的记载 周邦彦也留下关于九连环的名句“纵妙手、能解连环 ”九连环九连环西汉才女,辞赋家司马相如之妻卓文君曾提及九连环:……,七弦琴无心弹,八行书无可传,九连环从中折断,十里长亭望眼欲穿;百思想,千怀念,万般无奈把郎怨 ……卓文君生于西汉,诸葛亮生于东汉末年,其时汉室江山已分崩离析 二人相差几百年 也就是说,在诸葛亮之前几百年的西汉,九连环已经存在 故“九连环由诸葛亮发明”之说并不正确,可能系后世误传 也有人认为卓文君作词的故事似元朝杜撰,因为词风明显不是汉朝时所有 2003年3月8日,中国甘肃省嘉峪关市的王仲斌以3分57秒成功解出九连环,进入吉尼斯世界纪录大全 2012年10月25日CCTV新闻频道报道,江西理工大学学生杨咸阳创造最快拆解九连环的记录,时间为161秒(蒙眼)2019年8月17日,在中国北京举行的2019北京文化创意大赛“文投国际”杯中国古代智力玩具之九连环全国挑战赛中,来自中国厦门的叶佳希以2分28秒60的成绩成功分解大九连环 经官方审核,叶佳希成功创造了“最快时间解大九连环”世界纪录 叶佳希以2分23 384秒的成绩创造了全新的“最快时间盲解九连环”吉尼斯世界纪录 传说九连环源于中国古代传统民间,一说发明于战国时代,另一说发明于三国时期,但能确认就是九连环的记载是明代杨慎(1488-1559,号升庵)的《丹铅总录》(见《升庵集》卷六十八),并不早于欧洲 在中国,战国时代名家惠施曾著立《连环可解》的立论 惠施所说连环是指《战国策》卷第十三中提到的玉连环,南宋鲍彪注称这种玉连环是“两环相贯”,显然不是这里所说的九连环 据说三国时期,诸葛亮常带兵打仗,为排遣妻子寂寞而发明 于明代普及,明代中期时,流传更是极广 清代上至士大夫,下至贩夫走卒,个个爱玩“九连环” 《红楼梦》中曾有描写在深闺中玩九连环的细节 在西方,16世纪前,欧洲有了九连环的记载 1550年,巴黎刊行的数学文献,清楚地讨论过这“中国难题” 著名意大利数学家卡当的著作中将之称为“中国九连环” 1685年,英国数学家瓦里斯对此作了详细的数学说明 19世纪,格罗斯用二进位数给了它一个十分优美的解答 九连环无论在任何时候,都有着聪明的象征 在古代,对于人们来说,九连环不算是一种玩具,而是代表智慧的象征 电视剧看多的人应该会有这样一个印象:出使天朝的外邦,有些比较嚣张的,都会拿出九连环来刁难朝中大臣 在大家都束手无策,外邦使官洋洋得意的时候,总会有一个比较聪明的人出来解出九连环,挽回天朝的颜面 因此,九连环总是会被赋予聪明,有智慧的帽子 各式各样的九连环(14张)九连环流行极广,形式多样,规格不一 其制作,用金属丝制成圆形小环九枚,九环相连,套在条形横板或各式框架上,其框柄有剑形、如意形、蝴蝶形、梅花形等,各环均以铜杆与之相接 玩时,依法使九环全部联贯子铜圈上,或经过穿套全部解下 其解法多样,可分可合,变化多端 得法者需经过341次上下才能将相连的九个环套入一柱,再用341次才能将九个环全部解下 此外,也可套成花篮、绣球、宫灯等状 同时,九连环也是按照一种顺序来解的 解九连环需要相当一段时间,这也可以训练人的耐心 不仅如此,九连环还可以根据需要自行增加环数提高难度,但环数增加将使解开步骤呈几何级数递增,且本质上并没有改变解环方法,因此通常所见仍是九环为主 鎏金九连环鎏金九连环解开九连环共需要256步,只要上或下一个环,就算一步,不是在框架上滑动 希望大家能够通过独立思考,解决这个问题 九连环的解下和套上是一对逆过程,解法跟计算机的格雷码是同一原理 九连环的每个环互相制约,只有第一环能够自由上下 要想下/上第n个环,就必须满足两个条件(第一个环除外):一、第n-1个环在架上;二、第n-1个环前面的环全部不在架上 玩九连环就是要努力满足上面的两个条件 解下九连环本质上要从后面的环开始下,而先下前面的环,是为了下后面的环,前面的环还要装上,不算是真正地取下来 先从最简单的一连环开始 解一连环需要1步:一下 解二连环需要1步:一、二下 那解三连环呢 需要4步:一下,三下,一上,一、二下 也就是解一个连环,再把最后一个环解下,再上一个一环,再解一个二连环 那解一个四连环,需要7步:一、二下,四下,一、二上,一下,三下,一上,一、二下 也就是解一个二连环,再解最后一个环,再上一个二连环,再解一个三连环 也就是说,解n连环,就是先解一个n-2连环,再解最后一个环,再上n-2连环,再解n-1连环 解一连环需要1步,解二连环需要1步 由此可知,解三连环需要4步,解四连环需要7步,解五连环需要16步,解六连环需要31步,解七连环需要64步,解八需要127步,解九连环需要256步,解十连环需要682步……以后的类推 基本方法把框架和九个圆环分开,如左手持框架柄,右手握环,从右到左编号为1-9将环套入框架为“上”,取出为“下” 九连环拆解共341步:下9:下1(结果98765432在上):下1下3(结果987654在上):下3上1下12下5(结果9876在上):下5上12下1上3上1下12下4上12下1下3上1下12下7(结果98在上):下7上12下1上3上1下12上4上12下1下3上1下12上5上12下1上3上1下12下4上12下1下3上1下12下6上12下1上3上1下12上4上12下1下3上1下12下5上12下1上3上1下12下4上12下1下3上1下12下9(结果8在上):下9九连环的解法九连环的解法下8:上2(结果82在上):上12下1上3(结果83在上):上3上1下12上4(结果84在上):上4上12下1下3上1下12上5(结果85在上):上5上12下1上3上1下12下4上12下1下3上1下12上6(结果86在上):上6上12下1上3上1下12上4上 12下1下3上1下12下5上12下1上3上1下12下4上12下1下3上1下12上7(结果87在上):上7上12下1上3上1下12上4上12下1下3上1下12上5上12下1上3上1下 12下4上12下1下3上1下12下6上12下1上3上1下12上4上12下1下3上1下12下5上12下1上3上1下12下4上12下1下3上1下12下8(结果7在上):下8;下7:上2(结果72在上):上12下1上3(结果73在上):上3上1下12上4(结果74在上):上4上12下1下3上1下12上5(结果75在上):上5上12下1上3上1下12下4上12下1下3上1下12上6(结果76在上):上6上12下1上3上1下12上4上12下1下3上1下12下5上12下1上3上1下12下4上12下1下3上1下12下7(结果6在上):下7;下6:上2(结果62在上):上12下1上3(结果63在上):上3上1下12上4(结果64在上):上4上12下1下3上1下12上5(结果65在上):上5上12下1上3上1下12下4上12下1下3上1下12下6(结果5在上):下6;下5:上2(结果52在上):上12下1上3(结果53在上):上3上1下12上4(结果54在上):上4上12下1下3上1下12下5(结果4在上):下5;下4:上2(结果42在上):上12下1上3(结果43在上):上3上1下12下4(结果3在上):下4;下3:上2(结果32在上):上12下1下3(结果2在上):下3;下12:下12(结果拆解完成):上1下12 九连环安装共256步,逐步罗列如下:上98:上2(结果2在上):上12下1上3(结果3在上):上3上1下12上4(结果4在上):上4上12下1下3上1下12上5(结果5在上):上5上12下1上3上1下12下4上12下1下3上1下12上6(结果6在上):上6上12下1上3上1下12上4上12下1下3上1下12下5上12 下1上3上1下12下4上12下1下3上1下12上7(结果7在上):上7上12下1上3上1下12上4上12下1下3上1下12上5上12下1上3上1下12下4上12下1下3上1下12下6上12下1上3上1下12上4上12下1下3上1下12下5上12下1上3上1下12下4上12下1下3上1下12上8(结果8在上):上8上12下1上3上1下12上4上12下1下3上1下12上5上12下1上3上1下12下4上12下1下3上1下12上6上12下1上3上1下12上4上12下1下3上1下12下5上12下1上3上1下12 下4上12下1下3上1下12下7上12下1上3上1下12上4上12下1下3上1下12上5上12下1上3上1下12下4上12下1下3上1下12下6上12下1上3上1下12上4上12下1下3上1下12下5上12下1上3上1下12下4上12下1下3上1下12上9(结果98在上):上9上76:九连环的解法九连环的解法上2(结果982在上):上12下1上3(结果983在上):上3上1下12上4(结果984在上):上上4上12下1下3上1下12上5(结果985在上):上5上12下1上3上1下12下4上12下1下3上1下12上6(结果986在上):上6上12下1上3上1下12上4上12 下1下3上1下12下5上12下1上3上1下12下4上12下1下3上1下12上7(结果9876在上):上7上54:上2(结果98762在上):上12下1上3(结果98763在上):上3上1下12上4(结果98764在上):上4上12下1下3上1下12上5(结果987654在上):上5上32:上2(结果9876542在上):上12下1上3(结果9876532在上):上3上1:上1(结果安装完成):上1 递归破解用“递归”描述九连环的拆装方法比较容易理解和记忆 所谓递归就是第n个步骤的解决办法可以用已知的n-1步(或更早)的办法来解决 对于九连环来说,就是拆下第n个环的方法可以用拆下第n-1个环的方法来描述 把拆下第n个环的问题转化成为如何拆下第n-1个环的问题,也就是我们会拆第n-1个环就会拆第n个环 以下是具体的拆装方法描述:n 拆下第1个环的方法:(D1)1.把第1个环推出横杆,从横杆上面穿下去 n 装上第1个环的方法:(U1 )1.把第1个环从横杆下面穿上去,拉到外面后套进横杆 n 拆下第2个环的方法:(D2 )1. 把第1个换装上;(U1)2. 把第2个和第1个环一起推出横杆,把第二个环从横杆上面穿下去;(卸下第2环)3. 把第1个换再拆下 (D1)n 装上第2个环的方法:(U2)1. 把第1个换装上;(U1)2. 把第2个环从横杆下面穿上去,拉到前面后套进横杆;(装上第2环)3. 把第1个换再拆下 (D1)n 拆下第n环的方法:( Dn )1. 把第n-1环装上去;(Un-1)2.把第n和n-1环一起推出横杆,把第n环从横杆上面穿下去;(卸下第n环)3. 再把第n-1环卸下 (Dn-1)n 装上第n个环的方法:(Un)1. 把第n-1环装上去;(Un-1)2. 把第n个环从横杆下面穿上去,拉到前面后套进横杆;(装上第n环)3. 把第n-1个换再拆下 (Dn-1)n 为了加快速度,可以把第n+1个环和第n个环一起卸下去:(Dn n+1)1. 把第n+1和n环一起推出横杆,把n+1环从横杆上面穿下去;(卸下第n+1环)2. 把第n-1环装上去;(Un-1)3、把第n和n-1环一起推出横杆,把第n环从横杆上面穿下去;(卸下第n环)4. 再把第n-1环卸下 (Dn-1)举例说明:在第1个和第2个环都卸下去的情况下,如何把第3、4环卸下(n=3,D3 4):1. 把第4和3环一起推出横杆,把4环从横杆上面穿下去;(卸下第4环)2. 把第2环装上去;(按方法U2)3. 把第3和2环一起推出横杆,把第3环从横杆上面穿下去;(卸下第3环)4. 再把第2环卸下 (按照方法D2)九连环是中国传统民间玩具 规定环在杆上用1表示,环在下面用0表示 规定最左边的环是可以任意上下的那一环,输出数据中最右边必须是1,也就是说,010100要写成0101 现今是X连环,由于“输出数据中最右边必须是1”,所以X可以理解为无限大,右边多余的0在输出时都省略 初始化各环都是0,以下是前9步的情况:1.12.113.014.0115.1116.1017.0018.00119.1011问在X连环装上过程中,第n步完成后,具体情况是怎么样的 答案:将n转化为二进制,求其格雷码 将二进制的格雷码逆序输出,即得具体情况 注意:这个算法揭示了传统的九连环与现代的格雷码的重要关系 (C语言):#include