日期:2014-05-20  浏览次数:20687 次

递归公式的换算技巧?
定义一个方法,
f(20) = 100; f(21) = 123;
f(n) = f(n-1) + 2 * f(n-2) 

用递归计算 f(10)

f(n) = f(n-1) + 2 * f(n-2) 这个公式怎么换算?有什么样的规律?

------解决方案--------------------
公式可以转换为 f(n)=(f(n+2)-f(n+1))/2

int func(int n){
  switch(n){
    case 20:
      return 100;
    case 21:
      return 123;
    default:
      return (func(n+2)-func(n+1))/2;
  }
}