69,336
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
int f(int n, int x)
{
if(n==0) return 1;
if(n==1) return x;
return 2*f(n-1,x)+3*f(n-2,x);
}
int main()
{ printf("%d",f(3,2)); return 0; }
f(3, 2)转成f(2, 2)代进去,f(2, 2)转成f(1, 2)代进去... 就是:
f(3, 2) =
2f(2,2)+3f(1,2)
=
2*(2f(1,2)+3f(0,2))+3*f(1,2)
=
2 * ( 2 * 2 + 3 * 1) + 3 * 2
=
20