首页 > 试题广场 >

给定下列递归算法的程序段,则f(15)的返回值为()。 in

[单选题]
给定下列递归算法的程序段,则f(15)的返回值为()。
int f(int n)
{
	if(n < 1)
		return 0;
	if(n <= 4)
		return 1;
	return f(n - 1) + f(n - 2) + f(n - 3) + f(n - 4);	
} 
  • 1297
  • 2500
  • 4819
  • 9289
除了一个个推还有其他办法嘛
发表于 2022-03-15 16:23:09 回复(2)
一个个推,0~4算完分别是0,1,2,3,然后往后都是加前四个,约等于乘以2,算上几次之后大概就是2500左右
发表于 2022-04-16 11:52:45 回复(0)
我的方法是大致估计,选项中的数的差值挺大的,故可以大致估计一下。如果选项答案是连着的那么只能手算。考虑递归树,15分成14.13.12.11.每次分支4就是大致的一个四叉树。算一下大致几层可以大致的估计总的数量大约是多少。经过推算一定大于A而又不可能大于C,故为B
发表于 2022-11-14 12:39:04 回复(0)