斐波那契数列大家已经很熟悉了(之前讲过),那么用函数怎么解呢?我们一起来看一下吧。
题目:斐波那契数列的第一项和第二项都是 1,从第三项开始,每一项是其前面两项之和,即 1 , 1 , 2 , 3 , 5 , 8 ,......。请你利用函数找到该数列的第 n 项。
思路:先把主函数写了,输出一个函数,例如叫做fib(),输出应该是fib(n),主函数如下:
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
cout << fib(n) << endl;
return 0;
}
OK,那么开始写函数fib(),还是跟之前讲的一样,fib()的参数是int类型的,如果小于等于3,那就“输出”1(return 1);不是,就来一个for循环,里面是三个变量的更新过程(那三个不用说了吧),最后return now就可以了。
code:
#include <iostream>
using namespace std;
int fib(int n)
{
if (n <= 3) return 1;
int last1 = 1, last2 = 1, now;
for (int i = 3; i <= n; i++)
{
now = last2 + last1;
last2 = last1;
last1 = now;
}
return now;
}
int main()
{
int n;
cin >> n;
cout << fib(n) << endl;
return 0;
}
好了,就讲到这里了,下篇文章见!