直接推导获得解答

本文通过直接推导法求解了一个特定形式的递归函数f(n),给出了f(n)的通项公式为n*n!,并通过程序验证了该公式的正确性。

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

直接推导获得解答

f(n)=n*f(n-1)+n!,其中f(0)=0

求f(n)的通项公式?

采用直接推导法有:

f(n)=n *  { (n-1)*f(n-2)+(n-1)! }  +n!

Go

f(n)=n * (n-1)* { (n-2)*f(n-3)+(n-2)! }  +n!+n!

Go

f(n)=n * (n-1)*(n-2) *{ *f(n-3) }  +n!+n!+n!

...

Go

f(n)=n*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  expr (n)

(if (eq  n 0)

       0

    (+  (*  n

            (expr  (1- n)))

        (slayer n))))

 

 

(defun  formula (n)

(*  n

    (slayer n)))

 

(defun  test (n)

(if (> n 0)

  (progn 

       (print (expr   n))

       (print  'compare)

       (print (formula n))      

       (test (- n 1)))

  (print 'over)))

 

(test  10) 

结果是对的。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值