首页 > 代码库 > 每日一九度之 题目1075:斐波那契数列

每日一九度之 题目1075:斐波那契数列

时间限制:5 秒

内存限制:32 兆

特殊判题:

提交:3517

解决:2028

题目描述:

编写一个求斐波那契数列的递归函数,输入n值,使用该递归函数,输出如样例输出的斐波那契数列。

输入:

一个整型数n

输出:

题目可能有多组不同的测试数据,对于每组输入数据,
按题目的要求输出相应的斐波那契图形。

样例输入:
6
样例输出:
00 1 10 1 1 2 30 1 1 2 3 5 80 1 1 2 3 5 8 13 210 1 1 2 3 5 8 13 21 34 55

这题可以直接按题意写个递归,也可以直接预处理。

递归比预处理要慢一点。

代码如下(注释的那几句就是直接用递归的方法):

//Asimple#include <iostream>#include <algorithm>#include <cstring>#include <cstdio>#include <vector>#include <cctype>#include <cstdlib>#include <stack>#include <cmath>#include <set>#include <map>#include <string>#include <queue>#include <limits.h>#define INF 0x7fffffffusing namespace std;const int maxn = 55;typedef long long ll;int n;ll a[maxn];//int fun(int n){//    if( n == 0 ) return 0;//    else if( n == 1) return 1;//    else return fun(n-1)+fun(n-2);//}int main(){    a[0] = 0;    a[1] = 1;    for(int i=2; i<maxn; i++){        a[i] = a[i-1] + a[i-2];    }    while( ~scanf("%d",&n) ){        for(int i=0; i<n; i++){            for(int j=0; j<=2*i; j++){                printf(j==0?"%ld":" %ld",a[j]);                //printf("%d",fun(j));                //if( j!=2*i){                    //printf(" ");                //}            }            printf("\n");        }    }    return 0;}

 

每日一九度之 题目1075:斐波那契数列