刀马旦周杰伦歌词:怎样解解九连环,有图解的

来源:百度文库 编辑:高校问答 时间:2024/04/28 19:22:53

解开九连环共需要三百四十一步,只要上或下一个环,就算一步,不是在框架上滑动。九连环的解下和套上是一对逆过程。
  九连环的每个环互相制约,只有第一环能够自由上下。要想下/上第n个环,就必须满足两个条件,第一个环除外。一、第n-1个环在架上;二、第n-1个环前面的环全部不在架上。玩九连环就是要努力满足上面的两个条件。解下九连环本质上要从后面的环开始下,而先下前面的环,是为了下后面的环,前面的环还要装上,不算是真正地取下来。
  要想下第九环,必须满足以下两个条件:第八环在架上;而第一~七环全部不在架上。在初始状态,前者是满足的,现在要满足后者。照这样推理,就要下第七环,一直推出要下第一环,而不是下第二环。先下第二环是偶数连环的解法。上下第二环后就要上下第一环,所以在实际操作中就同时上下第一、二环,这是两步。
  九连环在任何正常状态时,都只有两条路可走:上某环和下某环,别的环动不了。其中一条路是刚才走过来的,不能重复走,否则就弄回去了。这样,就会迫使连环者去走正确的道路。而很多人由于不熟悉,常走回头路,解不了九连环。首次解九连环要多思考,三个环上下的动作要练熟,记住上中有下,下中有上。熟练后会有更深刻的理解,不需要推理了。

  下面是解下九连环前五个环的具体步骤:
  步骤: 1 2 3 4、5 6 7、8 9 10
  移动: 下一 下三 上一 下一二 下五 上一二 下一 上三
  步骤: 11 12、13 14 15、16 17 18 19 20、21
  移动: 上一 下一二 下四 上一二 下一 下三 上一 下一二

  另一种拆法:
  是把框架和九个圆环分开,如左手持框架柄,右手握环,从右到左编号为1-9将环套入框架为“上”,取出为“下”。

  拆法:
  下1下3、上1下1、2下5,上1、2下1上3,上1下1、2下4,上1、2下1上3,上1下1、2下7,上1、2下1上3,上1下1、2上4,上1、2下1下3,上1下1、2上5,上1、2下1上3,上1下1、2下4,上1、2下1下3,上1下1、2下6,上1、2下1上3,上1下1、2上4,上1、2下1下3、上1下1、2下5,上1、2下1上3,上1下1、2下4,上1、2下1下3,上1下1、2下9为拆下第一环,按上法可拆下87654321环,关键是勤动脑,开发智力。
  装法:
  为右手持框柄,左手拿圆环上1、2下1上3,上1下1、2上4,上1、2下1下3,上1下1、2上5按以上方法可以全部装上。

  用递归函数解:
  九连环
  用程序来表示就是一个完美的递归调用

  Nine circle <br>

  <?
  $play = array(1,1,1,1,1,1,1,1,1);

  function setit($i,$s)
  {
  global $play;
  static $stat = array('down','up');
  if($play[$i]==$s)return;
  if($i<=7)
  {
  //set $i+1 up $i+2 ... down
  setit($i+1,1);
  for($j=$i+2;$j<=8;$j++)
  {
  setit($j,0);
  }
  }
  $play[$i]=$s;
  echo ($i+1)." $stat[$s]\n";
  return;
  }
  echo "From all up to all down\n";
  for($i=0;$i<=8;$i++)
  {
  setit($i,0);
  }
  $play = array(0,0,0,0,0,0,0,0,0);
  echo "From all down to all up\n";
  for($i=0;$i<=8;$i++)
  {
  setit($i,1);
  }
  ?>