递归结束的条件、递归算法
递归函数设计步骤:
(1)对原问题进行分析,假设出合理的解决模型f(s)
(2)确定最小规模时的解决方法
(3)假设能求出规模较小时的f(t),确定f(s)与f(t)之间的关系。
问题1:n!
分析:n!=n*(n-1)!
(1)假设f(n)能求n!,n接收整数,返回n!
(2)n==0,1 f(n)=1
(3)假设f(n-1)能求出,f(n)=n*f(n-1)
问题2:求小张的年龄。
小张---》小李--》小王--》小刘---》小周
2 2 2 2 (10岁)
分析:
张、李、王、刘、周(5,4,3,2,1)
求5号的年龄
(1)age(n) n:接收编号
(2)n==1,age(n)=10
(3)age(n-1)能求出,age(n)=2+age(n-1)
问题3:求实数数组a[n]的最小值
分析:
(1)f(a,n)能求最小值 a:数组起始地址,n:数组长度
(2)n=1,f(a,n)=a[0];
(3)f(a,n-1)能求出,f(a,n)=min(f(a,n-1),a[n-1]);
上一页
[1]
[2]
[3]
下一页