·¢²©ÎÄ
´óÒþÓÚÊÐ

http://blog.chinaunix.net/space.php?uid=20494489

ÈÕÈÕÉî±­¾ÆÂú£¬³¯³¯Ð¡ÆÔ»¨¿ª£¬×ÔÒ÷×ÔÉÍ×Ô¿ª»³£¬ÎÞ¾ÐÎÞÊøÎÞ°­¡£¡°Çç¸ûÓê¶Á£¬ÄË×¾Õß֮ΪÕþÒ²¡±   
¸öÈË×ÊÁÏ
  • ²©¿Í·ÃÎÊ£º280749
  • ²©ÎÄÊýÁ¿£º105
  • ²©¿Í»ý·Ö£º6011
  • ²©¿ÍµÈ¼¶£º×¼½«
  • ×¢²áʱ¼ä£º2006-11-23 13:19:58
¶©ÔÄÎҵIJ©¿Í
  • ¶©ÔÄ
  • ¶©Ôĵ½Ïʹû
  • ¶©Ôĵ½×¥Ïº
  • ¶©Ôĵ½Google
×ÖÌå´óС£º´ó ÖРС²©ÎÄ
ÔÙÒ麺ŵËþÒ» (2007-05-01 23:00)
·ÖÀࣺ Êý¾Ý½á¹¹

    ººÅµËþ×÷ΪµÝ¹é»ò¶ÑÕ»µÄ¾­µäÀýÌâ´æÔÚÓÚ¸÷ÖÖÊý¾Ý½á¹¹£¬³ÌÐòÉè¼ÆËã·¨µÈ¸÷ÖÖÊé¼®ÖдæÔںöàÄêÁË¡£È»¶ø£¬¿ÉÄÜÓÐÈ˲¢²»ÖªµÀººÅµËþµÄÎÊÌâµÄµä¹Ê£¬ººÅµËþÀ´Ô´ÓÚÓ¡¶È´«ËµµÄÒ»¸ö¹ÊÊ£¬Éϵ۴´ÔìÊÀ½çʱ×÷ÁËÈý¸ù½ð¸ÕʯÖù×Ó£¬ÔÚÒ»¸ùÖù×ÓÉÏ´ÓÏÂÍùÉϰ´´óС˳ÐòÞû×Å64Ƭ»Æ½ðÔ²ÅÌ¡£ÉϵÛÃüÁîÆÅÂÞÃŰÑÔ²ÅÌ´ÓÏÂÃæ¿ªÊ¼°´´óС˳ÐòÖØÐ°ڷÅÔÚÁíÒ»¸ùÖù×ÓÉÏ¡£²¢Çҹ涨£¬ÔÚСԲÅÌÉϲ»ÄÜ·Å´óÔ²ÅÌ£¬ÔÚÈý¸ùÖù×ÓÖ®¼äÒ»»ØÖ»ÄÜÒÆ¶¯Ò»¸öÔ²ÅÌ¡£ÓÐÔ¤ÑÔ˵£¬Õâ¼þÊÂÍê³ÉʱÓîÖæ»áÔÚһ˲¼äÉÁµçʽ»ÙÃð¡£Ò²ÓÐÈËÏàÐÅÆÅÂÞÃÅÖÁ½ñÈÔÔÚÒ»¿Ì²»Í£µØ°á¶¯×ÅÔ²ÅÌ¡£¶÷£¬µ±È»Õâ¸ö´«Ëµ²¢²»¿ÉÐÅ£¬Èç½ñººÅµËþ¸ü¶àµÄÊÇ×÷Ϊһ¸öÍæ¾ß´æÔÚ¡£
   ×î½üÔÚº¼µçÉÏ×öÁ˼¸Ìâ¹ØÓÚººÅµËþµÄÌâÄ¿£¬ÓеãÐĵã¬ÏÖ¼ÇÏ£¬È¨µ±×öÌâ±Ê¼Ç¡£
Ò»£¬¾­µäººÅµËþ
ÎÊÌâÃèÊö£º¼ÙÉèÓÐ3¸ö·Ö±ðÃüÃûΪX£¬Y£¬ZµÄËþ×ù£¬ÔÚËþ×ùXÉϲåÓÐn¸öÖ±¾¶´óС¸÷²»Ïàͬ¡¢ÒÀСµ½´ó±àºÅΪ1£¬2£¬¡­¡­n¸öÔ²ÅÌ¡£ÏÖÒªÇó½«XÖáÉϵÄn¸öÔ²ÅÌÒÆÖÁËþ×ùZÉϲ¢ÈÔ°´Í¬Ñù˳ÐòµþÅÅ£¬Ô²ÅÌÒÆ¶¯Ê±±ØÐë×ñÊØÏÂÁйæÔò£º
£¨1£©Ã¿´ÎÖ»ÄÜÒÆ¶¯Ò»¸öÔ²ÅÌ£»
£¨2£©Ô²ÅÌ¿ÉÒÔ²åÔÚX£¬YºÍZÖеÄÈÎÒ»Ëþ×ùÉÏ£»
£¨3£©ÈκÎʱ¿Ì¶¼²»Äܽ«Ò»¸ö½Ï´óµÄÔ²ÅÌѹÔÚ½ÏСµÄÔ²ÅÌÖ®ÉÏ¡£
Çón¸öÅÌÖÁÉÙÐèÒÆ¶¯µÄ´ÎÊý¡£
·ÖÎö£ºÉèF[n]±íʾ½«n¸öÅÌ´Ó°´¹æÔò´ÓXÖùÒÆµ½ZÖùÖÁÉÙÐèÒªÒÆ¶¯µÄ´ÎÊý£¬ÏÔÈ»£¬µ±n=1ʱ£¬F[n]=1£»µ±n>1ʱ£¬ÎÒÃǽ«Òƶ¯ÅÌÖ®µÄ¹ý³Ì·ÖΪÈý²½£º
1£¬½«XÖùÉϵÄn-1¸öÅÌÒÀ¿¿ZÖùÒÆµ½YÖùÉÏ£¬Õâ¸öÐèÒªF[n-1]²½£»
2£¬½«XÖùÉÏʣϵÄÒ»¸öÅÌ£¨×î´óµÄÅÌ£©ÒƵ½ZÖùÉÏ£¬Õâ¸öÐèÒª1²½£»
3£¬½«YÖùÉϵÄn-1¸öÅÌÒÀ¿¿XÖùÒÆµ½ZÖùÉÏ£¬Õâ¸öÐèÒªF[n-1]²½£»
ËùÒÔÒÆÍên¸öÖÁÉÙÐèÒªµÄ²½ÊýF[n]=F[n-1]+1+F[n-1]=2*F[n-1]+1; ¶øF[1]=1£»ÓÉÒÔÉÏÁ½¸öµÈʽ¿ÉÒÔÍÆ³öÇóF[n]µÄÒ»°ãʽ£¬¼´F[n]=2^n-1;
C++ʵÏÖ£ºÂÔ¡£
 
ÁíÍâÒ»ÖÖ·½·¨£¬ÊÇʹÓõݹ飬·ÖÎöÉÏÒ»ÖÖ·½·¨µÄµÚÒ»²½£¬Æäʵ½«n-1¸öÅÌ´ÓXÖùÉÏÒÀ¿¿ZÖùÒÆµ½YÖùÉÏ£¬ÕâÓÖÊÇÒ»¸öººÅµËþ£¬Ö»ÊÇÎÊÌâµÄ¹æÄ£Ð¡1£¬Òò´Ë¿ÉÒÔÓÃͬÑùµÄ·½·¨Çó½â¡£Éè²½Êý¼ÆÊýÆ÷int count=0;
Ôò¿ÉÓÃÒÔÏÂËã·¨Ëã³öcount.
C++ʵÏÖ£º
void hanoi(int n,char x,char y,char z)
{
   //½«Ëþ×ùXÉϰ´Ö±¾¶´óСÓÉСµ½´óÇÒ×ÔÉ϶øÏ±àºÅΪ1ÖÁnµÄn¸öÔ²Å̰´¹æÔò°áµ½Ëþ×ùZÉÏ£¬Y¿ÉÓÃ×÷¸¨
   //Ëþ¡£   
   if(n==1£© count++;//countΪȫ¾Ö±äÁ¿£¬³õֵΪ0£»
   else
   {
      hanoi(n-1,x,z,y);
      count++;
      hanoi(n-1,y,x,z);
   }
}
ÓÉ´Ë¿ÉÒÔ¼ÆËã³öÖÁÉÙÐèÒªÒÆ¶¯µÄ´ÎÊý¡£
´ýÐø¡­¡­
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ǰһƪ£ºÎåÒ»³¤¼Ù
Ç×£¬Äú»¹Ã»ÓеǼ,Çë[µÇ¼]»ò[×¢²á]ºóÔÙ½øÐÐÆÀÂÛ