【C++】 Fibonacci数

以前用惯了java和php之类的编程语言,但蓝桥杯却报了C/C++组……,只能重新以此方式熟悉C++语言特性与算法了。

时间限制:3000 ms | 内存限制:65535 KB | 难度:1

描述

无穷数列$1,1,2,3,5,8,13,21,34,55…$称为Fibonacci数列,它可以递归地定义为
$F(n)=1 ………..(n=1或n=2)$
$F(n)=F(n-1)+F(n-2)…..(n>2)$
现要你来求第$n$个斐波纳奇数。(第1个、第二个都为1)

输入

第一行是一个整数$m(m<5)$表示共有$m$组测试数据
每次测试数据只有一行,且只有一个整形数$n(n<20)$

输出

对每组输入$n$,输出第$n$个Fibonacci数

样例输入

3
1
3
5

样例输出

1
2
5

题目来源

http://acm.nyist.net/JudgeOnline/problem.php?pid=13

程序实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;

int fibonacci(int n){
if(n==1) return 1;
if(n==2) return 1;
return fibonacci(n-1)+fibonacci(n-2);
}

int main(){
int num,x;
cin>>num;
while(num--){
cin>>x;
cout<<fibonacci(x)<<endl;
}
return 0;
}
文章目录
  1. 1. 程序实现

20160314-acm/

本页二维码