C语言中fun(n-1)+fun(n-2)是什么意思啊
发布网友
发布时间:2022-04-25 21:59
我来回答
共5个回答
热心网友
时间:2022-06-17 22:17
这是一个递归函数中的语句。
long fun(int n)
{
if(n==0||n==1)
return 1;
else
return fun(n-1)+fun(n-2);
}
这个递归函数,它是用来计算菲波那契数列第n项的。
前面的 if(n==0||n==1) return 1; 说的是递归结束的条件。就是说菲波那契数列的前二项的值就等于1,
从n>=3起,就使用递归的方法来计算fun(n)的值。
比如要计算fun(4),它就等于fun(3)+fun(2);
而fun(3)=fun(2)+fun(1);
fun(2)=fun(1)+fun(0)=1+1=2
所以,它调用fun(2)时就返回函数值2,调用fun(1)时直接返回函数值1,于是就计算出fun(3)的值为2+1=3。
热心网友
时间:2022-06-17 22:18
一个递归的函数,
当n<=2时,fun(n)=4
当n>2时,fun(n)=fun(n-1)+fun(n-2)
也就是说
fun(1)=4,
fun(2)=4,
fun(3)=fun(2)+fun(1)=8
fun(4)=fun(3)+fun(2)=12
fun(5)=fun(4)+fun(3)=20
热心网友
时间:2022-06-17 22:18
fun是函数吧。就是n-1代入到函数得到的值加上n-2代入到函数得到的值
热心网友
时间:2022-06-17 22:19
fun应该是自己定义的一个函数,实现的是一个计算功能,返回计算后的结果吧,上代码嘛,直观点!
热心网友
时间:2022-06-17 22:19
递归!!你把1,2,3代入N自己算一边就知道了