Fibonacci Number

实战 Java 并发编程
实战为导向,从Java 并发原理出发,并集合开发实践,全面剖析 Java 并发编程。
wangxiaoming
                                                             

 

Fibonacci Number

  Source : sjtupc2004round2
  Time limit : 1 sec   Memory limit : 32 M

Submitted : 1585, Accepted : 883

The Fibonacci Numbers {0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55...} are defined by the recurrence:

""""

Write a program to calculate the Fibonacci Numbers.

Input

The first line of the input contains a single integer T, the number of test cases. The following T lines, each contains an integer n ( 0 <= n <= 45 ), and you are expected to calculate Fn.

Output

Output Fn on a separate line.

Sample Input

5
0
3
5
9
20
Sample Output
0
2
5
34
6765
                  这里主要想说明一下递推和递归,递推要记录中间变量,而递归不记录中中间变量,相对来说空间消耗非常的大
                  而且要注意的是斐波那契数列从i = 2开始的,这点粗胡错的话,程序是无法正确运行的
                  源代码:
              
#include<stdio.h>

int main()
{
    long i, j, n, F[46];
    int  test;

    scanf("%d", &test);
    for(i = 0; i < test; i++)
    {
        scanf("%ld", &n);
        F[0] = 0;
        F[1] = 1;
        for(j = 2; j < 46; j++)
        {

            F[j] = F[j-1] + F[j-2];
        }
        printf("%ld\n", F[n]);
    }

    return 0;
}

 
wangxiaoming CSDN认证博客专家 架构 Spring Boot Redis
博客是很好的总结和记录工具,如果有问题,来不及回复,关注微信公众号:程序员开发者社区,获取我的联系方式,向我提问,也可以给我发送邮件,联系 1275801617@qq.com
©️2020 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值