亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#采用遞歸實現(xiàn)階乘的方法

 更新時間:2014年08月20日 10:59:14   投稿:shichen2014  
這篇文章主要介紹了C#采用遞歸實現(xiàn)階乘的方法,很有借鑒價值的一個算法技巧,需要的朋友可以參考下

本文實例講述了C#采用遞歸實現(xiàn)階乘的方法,供大家參考之用。通常來說,如果想實現(xiàn)一個階乘,比如6 * 5 * 4 * 3 * 2 * 1,首先想到的可能是循環(huán)遍歷。

如下示例所示:

class Program
{
    static void Main(string[] args)
    {
      Console.WriteLine("請輸入一個數(shù)");
      int number = Convert.ToInt32(Console.ReadLine());
      double result = JieCheng(number);
      Console.WriteLine(number.ToString() + "的階乘結(jié)果是:" + result.ToString());
      Console.ReadKey();
    }
 
    public static double JieCheng(int number)
    {
      if (number == 0)
      {
        return 0;
      }
 
      //初始值必須設(shè)置為1
      double result = 1;
 
      for (int i = number; i >= 1; i--)
      {
        result = result*i;
      }
      return result;
    }
}

但以上的階乘還有一種實現(xiàn)方式:6 * (6-1) * (6-2) * (6-3) * (6-4) * (6-5) 或 6 * (6-1) * (5-1) * (4-1) * (3-1) * (2-1),也就是說后面數(shù)總是由前面的數(shù)減1得到的。

當(dāng)實現(xiàn)的邏輯相同,且內(nèi)部遞歸方法的參數(shù)可以由外部遞歸方法的參數(shù),經(jīng)過某種算法而獲得,這正是遞歸登場的時候。

實現(xiàn)代碼如下:

public static double JieCheng(int number)
{
  if (number == 0)
  {
 return 1;
  }

  return number * JieCheng(number - 1);
}

希望本文所述實例對學(xué)習(xí)算法的朋友能有所幫助。

相關(guān)文章

  • Unity實現(xiàn)菜品識別的示例代碼

    Unity實現(xiàn)菜品識別的示例代碼

    這篇文章主要介紹了如何通過Unity實現(xiàn)菜品識別,可以準(zhǔn)確識別圖片中的菜品名稱、位置、卡路里信息,并獲取百科信息。感興趣的小伙伴可以了解一下
    2022-02-02
  • Unity UI實現(xiàn)拖拽旋轉(zhuǎn)

    Unity UI實現(xiàn)拖拽旋轉(zhuǎn)

    這篇文章主要為大家詳細(xì)介紹了Unity UI實現(xiàn)拖拽旋轉(zhuǎn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • C#讀寫共享文件夾的方法

    C#讀寫共享文件夾的方法

    這篇文章主要為大家詳細(xì)介紹了C#讀寫共享文件夾的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • C#條碼生成類分享

    C#條碼生成類分享

    這篇文章主要分享了C#條碼生成類的實例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • C# 位運算符整理

    C# 位運算符整理

    在C#中可以對整型運算對象按位進(jìn)行邏輯運算。按位進(jìn)行邏輯運算的意義是:依次取被運算對象的每個位,進(jìn)行邏輯運算,每個位的邏輯運算結(jié)果是結(jié)果值的每個位。
    2008-10-10
  • Visual C#.Net 網(wǎng)絡(luò)程序開發(fā)-Socket篇

    Visual C#.Net 網(wǎng)絡(luò)程序開發(fā)-Socket篇

    Visual C#.Net 網(wǎng)絡(luò)程序開發(fā)-Socket篇...
    2007-03-03
  • 你是不是這樣寫異常處理代碼的呢?

    你是不是這樣寫異常處理代碼的呢?

    本篇文章是對,你是不是這樣寫異常處理代碼的進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C#中生成DLL及其事件的處理

    C#中生成DLL及其事件的處理

    在C#中,創(chuàng)建動態(tài)鏈接庫是一個常見的任務(wù),本文主要介紹了C#中生成DLL及其事件的處理,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-01-01
  • C#函數(shù)out多個返回值問題

    C#函數(shù)out多個返回值問題

    這篇文章主要介紹了C#函數(shù)out多個返回值問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • C#實現(xiàn)綁定Combobox的方法

    C#實現(xiàn)綁定Combobox的方法

    這篇文章主要介紹了C#實現(xiàn)綁定Combobox的方法,涉及Combobox參數(shù)設(shè)置的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08

最新評論