问题描述
斐波那契数列(Fibonacci sequence),又称黄金分割数列,它指的是这样一个数列:0、1、1、2、3、5、8、13、21、34⋅⋅⋅0、1、1、2、3、5、8、13、21、34⋅⋅⋅,请编程序,求出这个数列的第N项的值是多少?(N<50)
输入
一个整数 N
输出
斐波那契数列的第N项
样例
输入数据
8
输出数据
13
解题思路: 初始化前两个斐波那契数值: a[1] = 0 和 a[2] = 1。
读取输入的整数 n,表示要计算斐波那契数列的第 n 项。
使用循环从第3项开始逐个计算斐波那契数列的值:
对于每个 i,将 a[i] 的值设置为 a[i-1] + a[i-2]。
输出计算得到的斐波那契数列的第 n 项: cout << a[n]。
代码实现
#include<bits/stdc++.h>
using namespace std;
const int maxn = 100;
long long a[maxn];
int main(){
int n;
cin >> n;
a[1] = 0;
a[2] = 1;
for(int i = 3; i <= n; i++){
a[i] = a[i-1] + a[i-2];
}
cout << a[n];
return 0;
}