斐波那契数列的递归递推求法

江枫思渺然 提交于 2019-12-02 11:46:32
#include <bits/stdc++.h>

using namespace std;

// 递归计算斐波那契数列 

int f1(int n)
{
	if (n == 1 || n == 2)
		return 1;
	return f1(n-1) + f1(n-2);
}

// 递推计算斐波那契数列

int f2(int n) 
{
	if (n == 1 || n == 2)
		return 1;
	int fa = 1, fb = 1;
	for (int i = 3; i <= n; ++i){
		int t = fa + fb;
		fa = fb;
		fb = t;
	}
	return fb;
}

int main(){
	int n;
	scanf("%d", &n);
	int ans1 = 0, ans2 = 0;
	ans1 = f1(n);
	ans2 = f2(n);
	printf("递归结果:%d\n递推结果:%d", ans1, ans2);
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!