在使用递归编写阶乘函数时需要一些支持

时间:2015-03-20 13:43:07

标签: recursion

我需要编写一个阶乘函数,它接受一个输入并返回给定数字的阶乘。如果函数传入0或小于0,则函数应返回0.

我实际上不确定如何使用PSScript版本1.0的功能来编写这个,但我刚写了这个,请有人帮助我。

JAVA -

public static int factorial (int n) {
      if (n<0) {
          return 0;
      }
      return (n<2) ? 1 : n *factorial(n-1);
}

我想知道是否有任何我可以写这个,所以可以使用它来编写PSScript版本1.0中的函数

这是我到目前为止所做的事情;

func fac (int n) return int  {
     if (n<0){
         return 0;
     }
     else 
     {
     return (n<2) ? 1 : n *factorial(n-1);
     }
}

1 个答案:

答案 0 :(得分:1)

根据您链接到的语言规范,我猜想递归因子函数在您的虚构语言中看起来像这样:

func fac (int n) returns int  {
    if (n == 0) {
        return 1;
    } else {
        return n * fac(n - 1);
    }
}

也许它应该检查否定论点。