递归问题
一个基本的递归问题;f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) ;我自己写的代码如下,但是报错是说参数传入太少,求各位解答:#include <stdio.h>
#include<math.h>
int calculate(int i,int j,int k);
int main()
{
int a,b,c;
scanf(("%d %d %d"),a,b,c);
calculate(a,b,c);
return 0;
}
int calculate(int i,int j,int k)
{ int sum;
if(k==1||k==2)
return 1;
else
{sum=(i*calculate(k-1)+j*calculate(k-2));
return sum;
}
} #include <stdio.h>
#include<math.h>
int calculate(int i,int j,int k);
int main()
{
int a,b,c;
scanf(("%d %d %d"),a,b,c);
calculate(a,b,c);
return 0;
}
int calculate(int i,int j,int k)
{ int sum;
if(k==1||k==2)
return 1;
else
{sum=(i*calculate(k-1)+j*calculate(k-2));
return sum;
}
}
红色的地方少了 而且数字大你递归吃不下 建议用数组保存每次递归的值 为啥不变颜色 你再看看
#include <stdio.h>
#include<math.h>
int calculate(int i,int j,int k);
int main()
{
int a,b,c;
scanf(("%d %d %d"),a,b,c);
calculate(a,b,c);
return 0;
}
int calculate(int i,int j,int k)
{ int sum;
if(k==1||k==2)
return 1;
else
{sum=(i*calculate(k-1)+j*calculate(k-2));
return sum;
}
} micolar 发表于 2019-6-20 22:09
为啥不变颜色 你再看看
#include
#include
懂了,谢谢{:5_95:}
页:
[1]