| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
#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; }
 本帖最后由 风过无痕1989 于 2020-12-8 17:05 编辑  
 
f(int n, int x) 由三个式子组成: 
f(0) = 1; 
f(1) = x; 
2*f(n-1,x)+3*f(n-2,x); 
 
主函数以 n = 3, x = 2 调用函数 f(int n, int x): 
2 * f(n - 1, x) + 3 * f(n - 2, x) 
= 2 * f(3 - 1, 2) + 3 * f(n - 2, 2)) 
= 2 * f(2, 2) + 3 * f(1, 2) 
= 2 * [2 * f(2 - 1, x) + 3 * f(2 - 2, x)] + 3 * x 
= 2 * [2 * f(1, x) + 3 * f(0, x)] + 3 * x 
= 2 * [2 * x + 3 * 1] + 3 * x 
= 2 * [2 * 2 + 3] + 3 * 2 
= 2 * [7] + 6 
= 14 + 6 
= 20 
 
 
 |   
 
 
 
 |