下面的函数利用递归实现了求1+2+3+……+n的功能: int sum(int n){ if(n==0) return 0; else return n+sum(n一1); } 在执行sum(10)的过程中,递归调用sum函数的次数是【 】。

admin2010-03-15  20

问题 下面的函数利用递归实现了求1+2+3+……+n的功能:
int sum(int n){
if(n==0)
return 0;
else
return n+sum(n一1);
}
在执行sum(10)的过程中,递归调用sum函数的次数是【  】。

选项

答案10

解析 此递归函数的终止条件是n=0,当n=10时,递归调用sum(9);n=9时,递归调用sum(8);依次类推,当n=l时,递归调用sum(0),此时n=0返回。因此程序递归调用了sum(9)、sum(8)、…、sum(0)等10次sum函数。
转载请注明原文地址:https://jikaoti.com/ti/6rW0FFFM
0

最新回复(0)