ººÅµËþËã·¨µÄµÝ¹éÓë·ÇµÝ¹éµÄCÒÔ¼°C++Ô´´úÂë
ººÅµËþËã·¨µÄµÝ¹éÓë·ÇµÝ¹éµÄCÒÔ¼°C++Ô´´úÂë
By Minidxer | January 30, 2008
ººÅµËþ£¨ÓֳƺÓÄÚËþ£©ÎÊÌâÆäʵÊÇÓ¡¶ÈµÄÒ»¸ö¹ÅÀϵĴ«Ëµ¡£
¿ªÌì±ÙµØµÄÉñ²ªÀÂ꣨ºÍÖйúµÄÅ̹Ų¶àµÄÉñ°É£©ÔÚÒ»¸öÃíÀïÁôÏÂÁËÈý¸ù½ð¸ÕʯµÄ°ô£¬µÚÒ»¸ùÉÏÃæÌ××Å64¸öÔ²µÄ½ðƬ£¬×î´óµÄÒ»¸öÔÚµ×Ï£¬ÆäÓàÒ»¸ö±ÈÒ»¸öС£¬ÒÀ´ÎµþÉÏÈ¥£¬ÃíÀïµÄÖÚÉ®²»¾ëµØ°ÑËüÃÇÒ»¸ö¸öµØ´ÓÕâ¸ù°ô°áµ½ÁíÒ»¸ù°ôÉÏ£¬¹æ¶¨¿ÉÀûÓÃÖмäµÄÒ»¸ù°ô×÷Ϊ°ïÖú£¬µ«Ã¿´ÎÖ»ÄÜ°áÒ»¸ö£¬¶øÇÒ´óµÄ²»ÄÜ·ÅÔÚСµÄÉÏÃæ¡£¼ÆËã½á¹û·Ç³£¿Ö²À(Òƶ¯Ô²Æ¬µÄ´ÎÊý)18446744073709551615£¬ÖÚÉ®ÃǼ´±ãÊǺľ¡±ÏÉú¾«Á¦Ò²²»¿ÉÄÜÍê³É½ðƬµÄÒƶ¯ÁË¡£
Ëã·¨½éÉÜ£º
ÆäʵËã·¨·Ç³£¼òµ¥£¬µ±ÅÌ×ӵĸöÊýΪnʱ£¬Òƶ¯µÄ´ÎÊýÓ¦µÈÓÚ2^n – 1£¨ÓÐÐËȤµÄ¿ÉÒÔ×Ô¼ºÖ¤Ã÷ÊÔÊÔ¿´£©¡£ºóÀ´Ò»Î»ÃÀ¹úѧÕß·¢ÏÖÒ»ÖÖ³öÈËÒâÁϵļòµ¥·½·¨£¬Ö»ÒªÂÖÁ÷½øÐÐÁ½²½²Ù×÷¾Í¿ÉÒÔÁË¡£Ê×ÏÈ°ÑÈý¸ùÖù×Ó°´Ë³ÐòÅųÉÆ·×ÖÐÍ£¬°ÑËùÓеÄÔ²ÅÌ°´´Ó´óµ½Ð¡µÄ˳Ðò·ÅÔÚÖù×ÓAÉÏ£¬¸ù¾ÝÔ²Å̵ÄÊýÁ¿È·¶¨Öù×ÓµÄÅÅ·Å˳Ðò£ºÈônΪżÊý£¬°´Ë³Ê±Õë·½ÏòÒÀ´Î°Ú·Å A B C£»
ÈônΪÆæÊý£¬°´Ë³Ê±Õë·½ÏòÒÀ´Î°Ú·Å A C B¡£
£¨1£©°´Ë³Ê±Õë·½Ïò°ÑÔ²ÅÌ1´ÓÏÖÔÚµÄÖù×ÓÒƶ¯µ½ÏÂÒ»¸ùÖù×Ó£¬¼´µ±nΪżÊýʱ£¬ÈôÔ²ÅÌ1ÔÚÖù×ÓA£¬Ôò°ÑËüÒƶ¯µ½B£»ÈôÔ²ÅÌ1ÔÚÖù×ÓB£¬Ôò°ÑËüÒƶ¯µ½C£»ÈôÔ²ÅÌ1ÔÚÖù×ÓC£¬Ôò°ÑËüÒƶ¯µ½A¡£
£¨2£©½Ó×Å£¬°ÑÁíÍâÁ½¸ùÖù×ÓÉÏ¿ÉÒÔÒƶ¯µÄÔ²ÅÌÒƶ¯µ½ÐµÄÖù×ÓÉÏ¡£¼´°Ñ·Ç¿ÕÖù×ÓÉϵÄÔ²ÅÌÒƶ¯µ½¿ÕÖù×ÓÉÏ£¬µ±Á½¸ùÖù×Ó¶¼·Ç¿Õʱ£¬Òƶ¯½ÏСµÄÔ²ÅÌ¡£ÕâÒ»²½Ã»ÓÐÃ÷È·¹æ¶¨Òƶ¯ÄĸöÔ²ÅÌ£¬Äã¿ÉÄÜÒÔΪ»áÓжàÖÖ¿ÉÄÜÐÔ£¬Æäʵ²»È»£¬¿ÉʵʩµÄÐж¯ÊÇΨһµÄ¡£
£¨3£©·´¸´½øÐУ¨1£©£¨2£©²Ù×÷£¬×îºó¾ÍÄÜ°´¹æ¶¨Íê³ÉººÅµËþµÄÒƶ¯¡£
ËùÒÔ½á¹û·Ç³£¼òµ¥£¬¾ÍÊÇ°´ÕÕÒƶ¯¹æÔòÏòÒ»¸ö·½ÏòÒƶ¯½ðƬ£º
Èç3½×ººÅµËþµÄÒƶ¯£ºA→C,A→B,C→B,A→C,B→A,B→C,A→C
ººÅµËþÎÊÌâÒ²ÊdzÌÐòÉè¼ÆÖеľµäµÝ¹éÎÊÌ⣬ÏÂÃæÎÒÃǽ«¸ø³öµÝ¹éºÍ·ÇµÝ¹éµÄ²»Í¬ÊµÏÖÔ´´úÂë¡£
¡ñººÅµËþËã·¨µÄµÝ¹éʵÏÖC++Ô´´úÂë
#include <fstream>
#include <iostream>
using namespace std;
ofstream fout("out.txt");
void Move(int n,char x,char y)
{
fout<<"°Ñ"<<n<<"ºÅ´Ó"<<x<<"Ų¶¯µ½"<<y<<endl;
}
void Hannoi(int n,char a,char b,char c)
{
if(n==1)
Move(1,a,c);
else
{
Hannoi(n-1,a,c,b);
Ïà¹ØÎĵµ£º
1.ÒýÑÔ
¡¡¡¡±¾ÎĵÄд×÷Ä¿µÄ²¢²»ÔÚÓÚÌṩC/C++³ÌÐòÔ±ÇóÖ°ÃæÊÔÖ¸µ¼£¬¶øÖ¼ÔÚ´Ó¼¼ÊõÉÏ·ÖÎöÃæÊÔÌâµÄÄÚº¡£ÎÄÖеĴó¶àÊýÃæÊÔÌâÀ´×Ô¸÷´óÂÛ̳£¬²¿·ÖÊÔÌâ½â´ðÒ²²Î¿¼ÁËÍøÓѵÄÒâ¼û¡£
¡¡¡¡Ðí¶àÃæÊÔÌâ¿´ËƼòµ¥£¬È´ÐèÒªÉîºñµÄ»ù±¾¹¦²ÅÄܸø³öÍêÃÀµÄ½â´ð¡£ÆóÒµÒªÇóÃæÊÔÕßдһ¸ö×î¼òµ¥µÄstrcpyº¯Êý¶¼¿É¿´³öÃæÊÔÕßÔÚ¼¼ÊõÉϾ¿¾¹´ïµ½Á ......
3.ÄÚ¹¦Ìâ
¡¡¡¡ÊÔÌâ1£º·Ö±ð¸ø³öBOOL£¬int£¬float£¬Ö¸Õë±äÁ¿ Óë“ÁãÖµ”±È½ÏµÄ if Óï¾ä£¨¼ÙÉè±äÁ¿ÃûΪvar£©
¡¡¡¡½â´ð£º
¡¡¡¡¡¡BOOLÐͱäÁ¿£ºif(!var)
¡¡¡¡¡¡intÐͱäÁ¿£º if(var==0)
¡¡¡¡¡¡floatÐͱäÁ¿£º
¡¡¡¡¡¡const float EPSINON = 0.00001;
¡¡¡¡¡ ......
ÌâÍâƪ£ºµ¥Ôª²âÊÔÄÑÓÚ³¤ÆÚ¼á³ÖµÄÔÒòÓë½â¾ö̽ÌÖ
ÉÏһƪ¡¶µ¥Ôª²âÊÔЧÒæ¡·£¬ÓÐÍøÓÑÆÀÂÛ˵£º“µ¥Ôª²âÊԵĺô¦»ù±¾ÈËÈËÖªµÀ£¬¾ÍÊÇÄѼá³Ö£¡”¡£ÕâÒ»ÆÀÂÛÑÏÖØÌáÐÑÁËÎÒ£¬²»´í£¬“ÄѼá³Ö”Ò²ÊÇÒ»¸öÆÕ±éÏÖ×´¡£Èç¹û²»Äܼá³Ö£¬ÄÇÒ»Çж¼ÊÇ°×´î¡£Òò´Ë£¬ÕâÀï²åÈëÒ»¸öÌâÍâƪ£¬Ì½ÌÖµ¥Ôª²âÊÔÄÑÓÚ³¤Æ ......
µÚ¶þÕ Êý¾ÝÀàÐÍ
Ò»¡¢Êý¾ÝÀàÐÍ·ÖÀà
1 ÁªºÏÀàÐÍ
2 º¯ÊýÀàÐÍ
3 ÊýÁ¿ÀàÐÍ
3.1ËãÊõÀàÐÍ
¢Ù »ù±¾Êý¾ÝÀàÐÍ
ÕûÐÍ£¨°üÀ¨char£©
¸¡µãÐÍ ......
externÊÇC/C++ÓïÑÔÖбíÃ÷º¯ÊýºÍÈ«¾Ö±äÁ¿×÷Ó÷¶Î§£¨¿É¼ûÐÔ£©.
Ëü¸æËß±àÒëÆ÷£¬ÆäÉùÃ÷µÄº¯ÊýºÍ±äÁ¿¿ÉÒÔÔÚ±¾Ä£¿é»òÆäËüÄ£¿éÖÐʹÓá£
1¡£¶ÔÓÚextern±äÁ¿À´Ëµ£¬½ö½öÊÇÒ»¸ö±äÁ¿µÄÉùÃ÷£¬Æä²¢²»ÊÇÔÚ¶¨Òå·ÖÅäÄÚ´æ¿Õ¼ä¡£Èç¹û¸Ã±äÁ¿¶¨Òå¶à´Î£¬»áÓÐÁ¬½Ó´íÎó
2¡£Í¨³££¬ÔÚÄ£¿éµÄÍ·ÎļþÖжԱ¾Ä£¿éÌṩ¸øÆäËüÄ£¿éÒýÓõĺ¯ÊýºÍ ......