Contest100000625 - 《算法笔记》11.1小节——动态规划专题->动态规划的递归写法和递推写法

题目链接

A Fibonacci

  1. 就是求斐波那契数列,下面给出递归和递推的写法。参考代码如下。
#include<iostream>
using namespace std;
const int MAXN = 100;
int F[MAXN] = { 0 };

int fib_0(int n) { //递推版
	F[0] = 0;
	F[1] = 1;
	for (int i = 2; i <= n; i++)
		F[i] = F[i - 1] + F[i - 2];
	return F[n];
}

int fib(int n) { //递归版
	if (n == 0) return 0;
	else if (n == 1) return 1;
	else if (F[n]) return F[n];
	else {
		F[n] = fib(n - 1) + fib(n - 2);
		return F[n];
	}
}

int main() {
	int n;
	while(cin >> n)
		cout << fib(n) << endl;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_42717165/article/details/87892301