0
0
已采纳
舒航
新手守护
新手守护
这个太简单的递归!!!
#include<iostream> using namespace std; 定义 f(int n) { 如果(n<=2) 返回 1; 返回 f(n-1)+f(n-2); } int main() { 定义 n; 输入>>n; 输出<<f(n); return 0; }
舒航在2018-07-31 12:01:45追加了内容
没注意是求和定义一个变量存一下就行了,记得采纳
舒航在2018-08-02 08:55:28追加了内容
楼上问问题人看过来!
int f(int n)
{
如果(n<=2)
返回 n;
返回 f(n-1)+f(n-2);
}
sorry,之前写错了,
把return 1;改成 return n;就行了
采纳采纳采纳,重要事情讲三遍!!!
0
0
孙志浩
资深守护
资深守护
用递推,f[1]=1,f[2]=1,f[n]=f[n-1]+f[n-2],s[0]=0,s[n]=s[n-1]+f[n],递推时间比递归低,因为求f(n)时,f(n-1)和f(n-2)已经算过了,递归要从头算起,递推可以直接调用。注意,数据大时用高精度。
0
0
0
0
0