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);
            }
    
        }
    }


  • 相关阅读:
    flv mime IIS设置
    正则表达式
    MATLAB out of memory
    Cyclic prefix
    Windows Live Writer Test
    zz排序算法的稳定性
    MATLAB的分数和小数
    young矩阵学习
    Python初体验(二)
    利用VS2010调用Excel的宏
  • 原文地址:https://www.cnblogs.com/workcn/p/4353781.html
Copyright © 2011-2022 走看看