大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
我给你举个简单的例子你就明白了,你可以假设n=3
成都创新互联长期为上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为磐石企业提供专业的成都网站设计、网站建设,磐石网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。
然后代入这个函数,a(3)=a(2)+5;而a(2)=a(1)+5;a(1)=1
所以最后就是a(3)=1+5+5=11…
同理你可以算出a(10)=1+5*9=46
满意请采纳
先调用函数f,然后把返回值赋值给z。不过这个函数不对,没有退出条件,无法停止。举例说明吧
int f(int x)
{
if(x==0)
{
return 1;
}
else
{
return x*f(x-1);
}
}
假如f(3)
那么
第一次f(3):x!=0,调用f(2)
第二次f(2):x!=0,调用f(1)
第三次f(1):x!=0,调用f(0)
第四次f(1):x==0,返回1
返回第三次调用f(1):返回1*1=1;
返回第二次调用f(2):返回2*1=2;
返回第一次调用f(3):返回3*2=6;
f(3)的结果为6
在返回之前要先求出fib(5)和fib(4)的值,才能求和,返回结果,也就是再分别调用fib(5)和fib(4),在fib(5)的过程中,因为n2,所以在fib(5)里还要算fib(4)和fib(3),在fib(4)里还要调用fib(3)和fib(2),直到n=2才返回结果,返回的时候是一步步地向它的主调函数返回的,直到返回到fib(5)的这一层,这时fib(5)的值就求出来了,fib(4)也经历一遍统同样的过程,才能求出最终的值返回给main();