【NOI】1755:菲波那契数列/ 2.2基本算法之递归和自调用函数

传送门:查看

1755:菲波那契数列
总时间限制: 

1000ms

 

内存限制: 

65536kB

描述

菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。
给出一个正整数a,要求菲波那契数列中第a个数是多少。

输入

第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1 <= a <= 20)

输出

输出有n行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数列中第a个数的大小

样例输入

4
5
2
19
1

样例输出

5
1
4181
1

斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........

这个数列从第3项开始,每一项都等于前两项之和。

斐波那契数列的定义者,是意大利数学家列昂纳多·斐波那契(Leonardo Fibonacci),生于公元1170年,卒于1250年,籍贯是比萨。他被人称作“比萨的列昂纳多”。1202年,他撰写了《算盘全书》(Liber Abacci)一书。他是第一个研究了印度和阿拉伯数学理论的欧洲人。他的父亲被比萨的一家商业团体聘任为外交领事,派驻地点于阿尔及利亚地区,列昂纳多因此得以在一个阿拉伯老师的指导下研究数学。他还曾在埃及、叙利亚、希腊、西西里和普罗旺斯等地研究数学。 

 AC的代码如下:

#include
using namespace std;
int F(int n)
{
	int a;
	if(n==1||n==2)return 1;
	else { a=F(n-1)+F(n-2); return a; }
}
int main()
{
	int n,b[1000],i;
	cin>>n;
	for(i=0;i>b[i];
	for(i=0;i

这道题要用递归,不用递归比较麻烦(因为我一时半会儿也没写好),2.2里的题目细心想想都做得出来,不提倡直接复制,各位大佬有什么意见可以再评论区提。

你可能感兴趣的:(【NOI】1755:菲波那契数列/ 2.2基本算法之递归和自调用函数)