特殊的组合问题(解复杂的问题)

本文通过差分方程的方法解析了一个特殊的组合问题,并给出了求解公式a(n)=3^n*({2/3}

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

特殊的组合问题(解复杂的问题)

设a(n)=C(n,0)+2*2^1*C(n,1)+3*2^2*C(n,2)+...+(n+1)*2^n*C(n,n)

还是采用差分方程的思维有:

a(n+1)=C(n+1,0)+2*2^1*C(n+1,1)+3*2^2*C(n+1,2)+...+(n+1)*2^n*C(n+1,n)+   (n+2)*2^(n+1)*C(n+1,n+1)

Go

a(n+1)-a(n)=2*2^1*C(n,0)+3*2^2*C(n,1)+(n+1)*2^n*C(n,n-1)+      (n+2)*2^(n+1)*C(n+1,n+1)

Go

a(n+1)-a(n)=2*2^1*C(n,0)+3*2^2*C(n,1)+...+(n+1)*2^n*C(n,n-1)+      (n+2)*2^(n+1)*C(n,n)

Go

由观察有:

2*a(n)=2^1*C(n,0)+2*2^2*C(n,1)+3*2^3*C(n,2)+...+(n+1)*2^(n+1)*C(n,n)

Go

a(n+1)-a(n)-2*a(n)=1*2^1*C(n,0)+1*2^2*C(n,1)+...+1*2^n*C(n,n-1)+ 1*2^(n+1)*C(n,n)

Go

运用牛顿公式可以知道右边2*(1+2)^n

a(n+1)-3*a(n)=2*3^n

Go

公式a(n)=3^n*( {2/3}*n+1)

 

 

 

 

 

下面写程序来证明:

(defun pow (num count)

(if (or (> count 1) (eq  count  1) )

      (* num 

         (pow num 

              (- count 1) ) )

      1))

 

(defun slayerex (num count)

(if (or (> count 1) (eq  count  1) )

      (* num 

         (slayerex  

                 (1- num)

                 (- count 1) ) )

      1))

 

(defun slayer ( count)

(if (or (> count 1) (eq  count  1) )

      (* count 

         (slayer  

              (- count 1) ) )

      1))

 

 

 

(defun  expr (init  n)

(if (eq  n 0)

       1

     (+   (expr init  (1- n) )

          (*   (1+  n)

               (pow  2

                     n)

               (/     (slayerex  init  n)

                      (slayer    n))))))

 

(defun  formula  (n)

(*   (pow  3  n)

     (+   (*  2/3  

              n)

          1)))

 

 

 

 

(defun  test (n)

(if (> n 0)

  (progn 

       (print (expr   n  n))

       (print  'compare)

       (print  (formula  n))

       (test (- n 1)))

  (print 'over)))

 

(test  100) 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值