最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c#斐波那契數(shù)列(Fibonacci)(遞歸,非遞歸)實(shí)現(xiàn)代碼

 更新時(shí)間:2013年05月03日 10:55:53   作者:  
c#斐波那契數(shù)列(Fibonacci)(遞歸,非遞歸)實(shí)現(xiàn)代碼,需要的朋友可以參考一下

//Main

復(fù)制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Fibonacci
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Would you like to know which Fibonacci Numbers:");
            int number = Convert.ToInt32(Console.ReadLine());
            //
            Function obj = new Function();
            Console.WriteLine();
            Console.Write("The {0} Fibonacci number is:{1}", number, obj.Fibonacci(number));
            //
            Console.WriteLine();
            Function obj2 = new Function(number);
            Console.Write("The {0} Fibonacci number is:{1}", number, obj2.BottomUpNotRecursion(number));
            //
            Console.WriteLine();
            Console.Write("The {0} Fibonacci number is:{1}", number, obj2.TopDownRecursion(number));
            Console.ReadKey();

        }
    }
}


//Class

復(fù)制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Fibonacci
{
    class Function
    {
        private int[] array;

        public Function()
        {

        }

        /// <summary>
        /// Function
        /// </summary>
        /// <param name="length"></param>
        public Function(int length)
        {
            if (length > 0)
            {
                array = new int[length + 1];
                array[0] = 1;
                array[1] = 1;
            }
            if (length == 0)
            {
                array = new int[1];
                array[0] = 1;
            }
        }

        /// <summary>
        /// Fibonacci數(shù)列定義為:
        ///             無窮數(shù)列1,1,2,3,5,8,13,21,34,55,……
        ///        ┌ 1             n=0    
        ///   F(n)=│ 1             n=1
        ///        └ F(n-1)+F(n-2) n>1
        /// </summary>
        /// <param name="number">第幾個斐波那契數(shù)</param>
        /// <returns></returns>
        public int Fibonacci(int number)
        {
            if (number <= 1)
            {
                return 1;
            }
            else
            {
                return Fibonacci(number - 1) + Fibonacci(number - 2);
            }
        }

        /// <summary>
        /// 動態(tài)規(guī)劃思想:
        ///     1.自底向上非遞歸算法
        /// </summary>
        /// <param name="number"></param>
        /// <returns></returns>
        public int BottomUpNotRecursion(int number)
        {
            int copynumber = 0;
            if (number < 2)
            {
                copynumber = 1;
            }
            else
            {
                int one = array[0];
                int two = array[1];

                for (int i = 2; i < array.Length; i++)
                {
                    array[i] = one + two;
                    one = two;
                    two = array[i];
                    copynumber = array[i];
                }
            }

            return copynumber;
        }

        /// <summary>
        ///     2.自頂向下遞歸算法
        /// </summary>
        /// <param name="number"></param>
        /// <returns></returns>
        public int TopDownRecursion(int number)
        {
            if (number <= 2)
            {
                if (number == 0)
                    return array[0];
                if (number == 1)
                    return array[1];
                if (number == 2)
                    return array[2] = array[0] + array[1];
            }
            else
            {
                //遞歸只是一個“牽引線”,目的是為了讓數(shù)組儲存值。
                TopDownRecursion(number - 1);
                array[number] = array[number - 1] + array[number - 2];
            }
            return array[number];
        }
    }
}

截圖

相關(guān)文章

  • C#代替go采用的CSP并發(fā)模型實(shí)現(xiàn)

    C#代替go采用的CSP并發(fā)模型實(shí)現(xiàn)

    這篇文章主要為大家介紹了C#代替go采用的CSP并發(fā)模型的輕松實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04
  • C#導(dǎo)出文本內(nèi)容到word文檔的方法

    C#導(dǎo)出文本內(nèi)容到word文檔的方法

    這篇文章主要介紹了C#導(dǎo)出文本內(nèi)容到word文檔的方法,涉及C#操作word文檔的相關(guān)技巧,需要的朋友可以參考下
    2015-04-04
  • c#并行任務(wù)多種優(yōu)化方案分享(異步委托)

    c#并行任務(wù)多種優(yōu)化方案分享(異步委托)

    c#并行任務(wù)多種優(yōu)化方案分享,使用異步委托+回調(diào)函數(shù)方式實(shí)現(xiàn),大家參考使用吧
    2013-12-12
  • C#獲取USB事件API實(shí)例分析

    C#獲取USB事件API實(shí)例分析

    這篇文章主要介紹了C#獲取USB事件API,實(shí)例分析了C#操作USB事件的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-05-05
  • C#類中屬性與成員變量的使用小結(jié)

    C#類中屬性與成員變量的使用小結(jié)

    本篇文章主要是對C#類中屬性與成員變量的使用進(jìn)行了總結(jié)介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-01-01
  • 在WPF中使用Interaction.Triggers

    在WPF中使用Interaction.Triggers

    這篇文章介紹了在WPF中使用Interaction.Triggers的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • C#在DataTable中根據(jù)條件刪除某一行的實(shí)現(xiàn)方法

    C#在DataTable中根據(jù)條件刪除某一行的實(shí)現(xiàn)方法

    我們通常的方法是把數(shù)據(jù)源放在DataTable里面,但是偶爾也會需要把不要的行移除,怎么實(shí)現(xiàn)呢,下面通過代碼給大家介紹c# atatable 刪除行的方法,需要的朋友一起看下吧
    2016-05-05
  • C#生成比較短的Token字符串

    C#生成比較短的Token字符串

    這篇文章介紹了C#生成Token字符串的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • WPF自定義控件的實(shí)現(xiàn)

    WPF自定義控件的實(shí)現(xiàn)

    本文主要介紹了WPF自定義控件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • C# OpenCvSharp實(shí)現(xiàn)通過特征點(diǎn)匹配圖片

    C# OpenCvSharp實(shí)現(xiàn)通過特征點(diǎn)匹配圖片

    這篇文章主要為大家詳細(xì)介紹了C#如何結(jié)合OpenCVSharp4實(shí)現(xiàn)通過特征點(diǎn)匹配圖片,文中的示例代碼簡潔易懂,具有一定的學(xué)習(xí)價(jià)值,需要的小伙伴可以參考下
    2023-11-11

最新評論

黄石市| 太康县| 深水埗区| 迁安市| 色达县| 阳西县| 会同县| 酒泉市| 峨眉山市| 岱山县| 禹州市| 仪征市| 澄江县| 高安市| 六枝特区| 青龙| 黑河市| 皮山县| 苍山县| 太保市| 娱乐| 江源县| 荆门市| 玉田县| 通榆县| 克山县| 嫩江县| 抚远县| 法库县| 河津市| 壶关县| 滦南县| 夏河县| 杭锦旗| 峨山| 隆林| 焉耆| 凌云县| 合阳县| 汾阳市| 天峻县|