增加值的递归函数

gbo*_*box 1 iteration algorithm recursion corecursion

我正在尝试编写n的求值递归函数

3(2+1)+4(3+2+1)+...+(n+1)(n+...+2+1)
Run Code Online (Sandbox Code Playgroud)

我知道一般来说我们需要把它写成归纳,基本情况的结果就是说n = 1,然后调用n-1的函数,它将以基本情况结束.

但是在以下函数中元素增加了,我应该如何处理它

小智 5

这也与您提到的一般方式相同.只是这样看:

(n + 1)(n +(n-1)+(n-2)+ ... + 1)+(n)((n-1)+(n-2)+ ... + 1)+ (n-1)((n-2)+(n-3)+ ... + 1)

所以假设你有一个名为SumTo(n)的函数,它返回从1到n的所有数字的总和,这是递归函数:

int Calc(n)
{
   if (n == 3)
     return n(sumTo(2));

   else return n(sumTo(n-1)) * Calc(n-1);
}
Run Code Online (Sandbox Code Playgroud)