2013=7=29 nyist 13题

时间:2021-10-10 04:39:08

Fibonacci数 时间限制: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

#include<stdio.h>

int main()

{

int a[10000],m,n,i;

a[0]=1; a[1]=1;

scanf("%d",&m);

while(m--)

{

scanf("%d",&n);

for(i=2;i<n;i++)

{  a[i]=a[i-1]+a[i-2];  }

printf("%d\n",a[n-1]);

}

return 0;

}

************************************

#include <stdio.h>

int main( )

{

int m,n,i;

int a[20]={1,1,2,3} ;

scanf("%d",&m);

while(m--)

{

scanf("%d",&n);

for(i=2;i<n;i++)   //  for(i=2;i<=n;i++)

{ a[i]=a[i-1]+a[i-2]; }

printf("%d\n",a[n-1]);

}

}

******************************************

#include<iostream>

using namespace std;

int main()

{     int i,a[20],m,t;

a[1]=1; a[2]=1;

for(i=3;i<=20;i++)

a[i]=a[i-2]+a[i-1];// 计算前20个数

cin>>m;

while(m--)

{        cin>>t;

cout<<a[t]<<endl;

}    //while(1);

return 0;

}