美文网首页C#题库
0032-菲波那契数列

0032-菲波那契数列

作者: 指尖极光 | 来源:发表于2017-03-25 15:14 被阅读8次

    问题描述

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

    输入

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

    输出

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

    输入样列

    4
    5
    2
    19
    1
    

    输出样例

    5
    1
    4181
    1
    

    算法实现

    using System;
    
    namespace Questions{
        class Program{
            public static void Main(string[] args){
                int n = int.Parse(Console.ReadLine());
                for (int i = 0; i < n; i++)
                {
                    int a = int.Parse(Console.ReadLine());
                    if (a == 1 || a == 2)
                    {
                        Console.WriteLine(1);
                        continue;
                    }
                    int[] data = new int[a + 1];
                    data[1] = data[2] = 1;
                    for (int j = 3; j <= a; j++)
                    {
                        data[j] = data[j - 1] + data[j - 2];
                    }
                    Console.WriteLine(data[a]);
                }
                Console.ReadKey();
            }
        }
    }

    相关文章

      网友评论

        本文标题:0032-菲波那契数列

        本文链接:https://www.haomeiwen.com/subject/yrscottx.html