zoukankan      html  css  js  c++  java
  • 递归求斐波那契数列

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ConsoleApplication1
    {
        class Program
        {
    
            static void Main(string[] args)
            {
                Console.Write("输入想求的斐波那契数列项数:");
                int n = Convert.ToInt32(Console.ReadLine());
                //递归实现
                Console.WriteLine("斐波那契数列数列算出的第{0}项为:{1}", n, NotNum(n));
                Console.ReadKey();
            }
            /// <summary>
            /// 非递归算法
            /// </summary>
            /// <param name="n"></param>
            /// <returns></returns>
           static int NotNum(int n)
            {
                int[] temp = { 1, 1 };
    
    
                if (n == 1 || n == 2)
                {
                    return 1;
                }
                else
                {
                    for (int i = 2; i < n; i++)
                    {
                        int tp = temp[0] + temp[1];
                        temp[1] = temp[0];
                        temp[0] = tp;
                    }
                    return temp[0];
                }
            }
    
    
            /// <summary>
            /// 输入想求的斐波那契数列项数,这是一种递归的算法
            /// </summary>
            /// <param name="n"></param>
            /// <returns></returns>
            public static int Number(int n)
            {
                if (n <= 2)
                {
                    return 1;
                }
                return Number(n - 1) + Number(n - 2);
            }
    
        }
    }


  • 相关阅读:
    第一周作业
    模拟赛3 题解
    模拟赛2 题解
    [HNOI2008]GT考试 题解
    NOI Online 提高组 题解
    模拟赛1 题解
    知识点拾遗
    [NOIp2012]疫情控制 题解
    [CEOI2002]Bugs Integrated, Inc. 题解
    [NOIp2017]宝藏 题解
  • 原文地址:https://www.cnblogs.com/workcn/p/4353781.html
Copyright © 2011-2022 走看看