1. 主页
  2. 文档
  3. Level2题解(11-20)
  4. 第17课 递归

第17课 递归

Q4.求f(x,n)

将数学表达式转化成递归函数表达式,一是找到比n更小规模的问题n-1,二是找到结束递归的边界值。

边界值: f(x,n)=sqrt(1+x) (n=1)

递归式: f(x,n)=sqrt(n+f(x,n-1)) (n>1)

float f(float x,int n){
	if(n==1){
		return sqrt(1+x);
	}else{
		return sqrt(n+f(x,n-1));
	}
}

Q5.再求f(x,n)

方法同Q4,找更小规模问题,找到边界值。

float f(float x,int n){
	if(n==1){
		return x/(1+x);              //边界值
	}else{
		return x/(n+f(x,n-1));       //更小规模问题
	}
}