自己的发现

自己的发现

mysin x的展开式为x+x^3/3!+x^5/5!+...

mycos x的展开为1+x^2/2!+x^4/4!+...

观察系数,并且联系有公式mysin  2*x=  2*  mysin x *mycos x

现在可以假设这样的问题存在,假设有1,和2两个数,要求用这两个数组成任意的n位数,要求1出现的个数为奇数,2出现的个数为偶数(0也为偶数),求针对特定n位数的可能个数?

这里正好可以应用前面的公式有:

mysin x* mycos x=1/2* mysin (2*x)=1/2*{ (2*x)+(2*x)^3/3!+(2*x)^5/5!+...}

这样可以得到三位数的个数是2^3/2=4,五位数的个数是2^5/2=16....而实践中也能发现n只能是奇数。

 

下面从公式的推导上写程序来证明:

(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 slayerex (num  count )

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

      (* num 

         (slayerex

              (- num   1)  

              (- count 1) ) )

      1))

 

 

(defun  expr (n  high)

(if (eq  n 1)

      (/   (slayerex  high  

                         (-  high 

                             n))

           (slayer  (- high 

                       n)))

      (+  (expr  (-  n  

                     2)

                 high)

          (*  (slayerex  high  

                         (-  high 

                             n))

              (/   1.0

                   (slayer (-  high

                               n)))))))

 

 

(defun  formula (n)

(pow  2.0  

      (1- n)))

 

(defun  test (n)

(if (> n 0)

  (progn 

       (print (expr n  n))

       (print  'compare)

       (print (formula n))        

       (test (- n 2)))

  (print 'over)))

 

(test  31) 

 

注意这里不能以sin x 和cos  x做实验,因为它们的形式幂级数中有负号,这不符合部分排列选择的条件.

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值