【题目描述】
菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。给出一个正整数k,要求菲波那契数列中第k个数是多少。
【输入】
输入一行,包含一个正整数k。(1 ≤ k ≤ 46)
【输出】
输出一行,包含一个正整数,表示菲波那契数列中第k个数的大小。
创作思路:
菲波那契数列n=1,2时 f(n)=1;n>=3是 f(n)=f(n-1)+f(n-2)
下列使用的是引用第三个变量,还可用编写函数的方法都可以解
#include<iostream>
using namespace std;
int main()
{
int n, a=1, b=1, t;
int sum = 0;
cin >> n;
if (n ==1&&n==2)
cout << 1;
for (int i = 3; i <= n; i++)
{
t = a + b;
b = a;
a = t;
}
cout << a;
return 0;
}