简单的stirling数(实验)
来源:互联网 发布:小米5不能用4g网络 编辑:程序博客网 时间:2024/06/06 11:44
简单的stirling数(实验)
这里假设容器是有区别的,数字也是有区别的。
假设n大于2,将这样的n个数放入到2个容器中,问有多少种放的方法?
有这样的推导思想,假设其中一个数放入到了任意一个容器中,那其它n-1个球中的每个球就有了两种选择方式,共有2^(n-1)种方式,不过要减去一种特殊情况,即后面n-1个球全部与第一个球放在一个格子的情况;所以共有2*{2^(n-1)-1}种情况
下面写程序来证明:
(defun formula (n)
(* 2
(+ (pow 2
(1- n))
-1)))
(defun pow (num count)
(if (or (> count 1) (eq count 1) )
(* num
(pow num
(- count 1) ) )
1))
(defun slayer ( count)
(if (or (> count 1) (eq count 1) )
(* count
(slayer
(- count 1) ) )
1))
(defun expr (n AContain BContain )
(if (> n 0)
(+ (expr (1- n)
(1+ AContain )
BContain)
(expr (1- n)
AContain
(1+ BContain)))
(if (or (eq AContain 0)
(eq BContain 0))
0
1)))
(defun test (n)
(if (> n 1)
(progn
(print (expr n 0 0))
(print 'compare)
(print (formula n))
(test (- n 1)))
(print 'over)))
[12]> (test 10)
1022
COMPARE
1022
510
COMPARE
510
254
COMPARE
254
126
COMPARE
126
62
COMPARE
62
30
COMPARE
30
14
COMPARE
14
6
COMPARE
6
2
COMPARE
2
OVER
OVER
注意前面推导过程中的思维方式,如果完全采用可以有空盒的推导方式,每个球有n个选择,故有2^n种方式,减去两个空盒的情况也可以得到正确答案;但前面的方式在通用以后也可以用到,因为它其中包括了一般递归思想;
这里假设容器是有区别的,数字也是有区别的。
假设n大于2,将这样的n个数放入到2个容器中,问有多少种放的方法?
有这样的推导思想,假设其中一个数放入到了任意一个容器中,那其它n-1个球中的每个球就有了两种选择方式,共有2^(n-1)种方式,不过要减去一种特殊情况,即后面n-1个球全部与第一个球放在一个格子的情况;所以共有2*{2^(n-1)-1}种情况
下面写程序来证明:
(defun formula (n)
(* 2
(+ (pow 2
(1- n))
-1)))
(defun pow (num count)
(if (or (> count 1) (eq count 1) )
(* num
(pow num
(- count 1) ) )
1))
(defun slayer ( count)
(if (or (> count 1) (eq count 1) )
(* count
(slayer
(- count 1) ) )
1))
(defun expr (n AContain BContain )
(if (> n 0)
(+ (expr (1- n)
(1+ AContain )
BContain)
(expr (1- n)
AContain
(1+ BContain)))
(if (or (eq AContain 0)
(eq BContain 0))
0
1)))
(defun test (n)
(if (> n 1)
(progn
(print (expr n 0 0))
(print 'compare)
(print (formula n))
(test (- n 1)))
(print 'over)))
[12]> (test 10)
1022
COMPARE
1022
510
COMPARE
510
254
COMPARE
254
126
COMPARE
126
62
COMPARE
62
30
COMPARE
30
14
COMPARE
14
6
COMPARE
6
2
COMPARE
2
OVER
OVER
注意前面推导过程中的思维方式,如果完全采用可以有空盒的推导方式,每个球有n个选择,故有2^n种方式,减去两个空盒的情况也可以得到正确答案;但前面的方式在通用以后也可以用到,因为它其中包括了一般递归思想;
- 简单的stirling数(实验)
- 简单的stirling数(区别)
- 简单的stirling数(联系)
- 简单的stirling数(扩展)
- 斯特灵(Stirling)数
- 第二类斯特林(Stirling)数的简单介绍和计算(小球入盒)
- (组合数学)Stirling 数
- stirling数
- stirling数
- Stirling数。。
- stirling 数
- Stirling数
- Stirling 数
- Stirling数
- Stirling数
- stirling数的性质及应用
- Count the Buildings (Stirling数)
- SDNU 1011(第二类stirling数)
- 一位国企高管对年轻人的忠告
- android html5 video
- 联系pi思考浮点数的意义
- 彻底关闭应用程序 返回键的捕获
- ★ Visual Studio 2008 每日小窍门 【持续发布ing~】 Tips:044
- 简单的stirling数(实验)
- Android多点触控揭秘
- 简单的stirling数(区别)
- 简单的stirling数(联系)
- 简单的stirling数(扩展)
- 微分方程数值解法(欧拉方法)
- 行级标签span a label 等 如何设置宽度
- CString初步讲解
- 按位验证字符串是否为1-9a-zA-z的两种做法