1. 河内塔(汉诺塔)
概念:http://zh.wikipedia.org/wiki/%E6%B1%89%E8%AF%BA%E5%A1%94
定义:n表示圆盘数;T(n)表示n个河内塔需要的最少搬运次数。
递推公式:T(n) = 2*T(n-1) + 1
通项公式:T(n) = (2^n) - 1
2. 平面上的直线
概念:n条直线可以将无限延伸的平面最多可以划分成多少分?
定义:n表示直线数;L(n)表示n条直线最多可以划分的份数。
递推公式:L(n) = L(n-1) + n
通项公式:L(n) = n(n + 1)/2 + 1
2. 约瑟夫问题
概念:n个人围成一圈,从第2个开始,每隔一人杀掉,即杀死2, 4, 6……。问:最后剩下人的原始编号J(n)
定义:n表示人数;J(n)表示最后剩下人的原始编号。
递推公式:J(1) = 1;J(n是偶数) = 2J(n/2) - 1; J(n是奇数) = 2J( (n-1) / 2 ) + 1
通项公式:J( 2^m + k ) = 2*k + 1; 其中,2^m + k = n, 2^m是小于等于n的最大整数
计算机公式: J(n) = 对n循环左移一位。例如:J(5) = 3, J(3) = 1
具体的证明和推导可以看《具体数学:计算机科学基础》第一章。