递归问题
第一章递归问题
1.1 河内塔
n个圆盘移动从一个柱子借助一个柱子,移动到另一个柱子上的次数为 :
递推式:T(n)=2*T(n-1)+1 , n>0,T(0)=0
归纳法得出:T(n)=pow(2,n)-1 n>=0
寻求封闭形式的表达式三个阶段:
(1)研究小的情形。
(2)对有意义的量求出数学表达式并给出证明。
(3)对数学表达式求出封闭形式并予以证明。
1.2 平面上的直线
n刀(直线)最多能把平面分为:
递推式:L(n)=L(n-1)+n , n>0 ,L(0)=1
对递推式展开或解开,如下:
L(n)=L(n-1)+n
=L(n-2)+(n-1)+n
=….
=L(0)+1+2+...+(n-1)+n
=1+n*(n+1)/2, n>=0
S(n)=1+2+...+n,求S(n) 可以用S(n)和它的反向书写相加
若n刀(呈锯齿形)最多能把平面分为:
Z(n)=L(2*n)-2*n=2*n*n-n+1, n>=0
1.3 约瑟夫问题
n个人形成圈,每隔一个人出列,问最后一个人的序列?
(1)若刚开始序列中有偶数(2*n)个人,经过一轮后,序列为:1,3,5….2*n-1, 既可以看作是n 个人的情况,序列号加倍减一, 即J(2*n)=2*J(n)-1 , n>=1
(2)若刚开始序列中有奇数(2*n+1)个人,经过一轮后,序列为:3,5,7,...2*n+1 ,看作n个人的情况,序列号加倍加一 ,即J(2*n+1)=2*J(n)+1 , n>=1
递推式:
J(1)=1;
J(2*n)=2*J(n)-1 , n>=1
J(2*n+1)=2*J(n)+1 , n>=1
通过递推式打出表格:
-
n
1
2 3
4 5 6 7
8 9 10 11 12 13 14 15
J(n)
1
1 3
1 3 5 7
1 3 5 7 9 11 13 15
猜想 J(pow(2,m)+l)=2*l+1 , m>=0 ,0<=l<pow(2,m) 通过数学归纳法证明该猜想
待续。。。。。。。