已知递归函数f的定义如下: int f(int n) { if(n <=1)return 1; //递归结束情况 else return n*f(n-2); //递归} 则函数调用语句f(5)的返回值是【

admin2009-03-16  22

问题 已知递归函数f的定义如下:
   int f(int n)
   {
   if(n <=1)return 1;       //递归结束情况
   else return n*f(n-2);    //递归}
   则函数调用语句f(5)的返回值是【  】。

选项

答案15

解析 本题考查的是递归算法的分析。一个直接或间接地调用自身的算法称为递归算法。在一个递归算法中,至少要包含一个初始值和一个递归关系。本题的,f()函数在n小于等于1时返回1,而在其余情况下返回n*f(n-2)。所以本题的递归算法可以表示为:
   
   题目要求的结果是f(5),即f(5)=5*f(3)=5*3*f(1)=5*3*1=15。故应该填15。
转载请注明原文地址:https://kaotiyun.com/show/Iojp777K
0

最新回复(0)