C中双阶因式方程的尾递归

问题描述 投票:3回答:1

我难以实现以下问题的尾部递归解决方案:

双阶乘有另一种递归关系,它也取决于阶乘,如上所述:(对于n <20)

enter image description here

  1. 我必须实现此等式的递归关系-我作为上面工作的代码所做的工作

    long long factorial(int n)
        {
             if (n<0)
                 return 0;
             if (n<1)
                 return 1;
    
             return n* factorial(n-1);
    
    long long doublefactorial(int n)
        {
             if (n<0)
                 return 0;
             if (n<2)
                 return 1;
             return factorial(n) / doublefactorial(n-1);
        }
    

2.now我必须使用tail recursion来实现相同的问题。有人可以告诉我如何执行此操作,因为我无法弄清楚。 (也不需要以尾递归的方式实现阶乘函数)

测试案例:

  • 5 !! = 15
  • 10 !! = 3840
  • 18 !! = 185,794,560
  • -10 !! = 0
c tail-recursion
1个回答
1
投票
© www.soinside.com 2019 - 2024. All rights reserved.