【正确答案】正确答案:if (n<1) { return 0 ; } else if(n==1) { return 1 ; } else { return n*factorial(n一1); }
【答案解析】解析:(1)先考虑最简单的情况,n为1(或小于1)时返回值应该为1,即factorial(1)=1.这是递归结束条件,如果n大于1则递归调用自己。 (2)n>1时,此时递归函数调用自己,即factorial(n)=n*factorial(n—1),此时的函数的返吲值是n*factorial(n—1),如此来实现递归调用。