【校招面试 之 剑指offer】第10-1题 斐波那契数列

递归以及非递归实现:

#include<iostream>
using namespace std;

long long fun(long long n){
	if(n == 0){
		return 0;
	}
	if(n ==1){
		return 1;
	}
	return fun(n-1) + fun(n-2);
}

long long fun1(long long n){
	if(n == 0){
		return 0;
	}
	if(n ==1){
		return 1;
	}
	int n1 = 1;
	int n2 = 0;
	int sum = 0;
	for(int i =2; i <= n; i++){
		sum = n1 + n2;
		n2 = n1;
		n1 = sum;
	}
	return sum;
}
int main(){
	// 1.递归实现
	cout<<fun(15)<<endl;
	// 2.非递归实现
	cout<<fun1(15)<<endl;
	system("pause");
	return 0;
}

  

原文地址:https://www.cnblogs.com/xuelisheng/p/9358197.html