读书人

3、四柱汉诺塔最小步数

发布时间: 2012-09-17 12:06:51 作者: rapoo

三、四柱汉诺塔最小步数

三柱汉诺塔最小步数函数为:hntf3(n);四柱汉诺塔最小步数函数为:hntf4(n).

int hntf3(int n){if(n==1)return 1;return 2*hntf3(n-1)+1;}
三柱汉诺塔最小步数的规律是:f(n)=2^n-1(n为盘子数)
int hntf4(int n){if(n==1)return 1;int min,u;min=2*hntf4(1)+hntf3(n-1);for(int i=2;i<n;++i){u=2*hntf4(i)+hntf3(n-i);if(u<min)min=u;}return min;}
四柱汉诺塔最小步数的规律是:f(n)=f(n-1)+2^((int)(sqrt(8*n-7)-1)/2) (n>1),其中f(1)=1(n为盘子数)

读书人网 >编程

热点推荐