国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#采用遞歸實現階乘的方法

2020-01-24 02:30:11
字體:
來源:轉載
供稿:網友

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

如下示例所示:

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

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

當實現的邏輯相同,且內部遞歸方法的參數可以由外部遞歸方法的參數,經過某種算法而獲得,這正是遞歸登場的時候。

實現代碼如下:

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

希望本文所述實例對學習算法的朋友能有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 仪陇县| 渝中区| 石柱| 大渡口区| 白沙| 同德县| 嵊泗县| 乐山市| 长寿区| 广灵县| 巴东县| 南木林县| 秦安县| 凉山| 古丈县| 镇远县| 平南县| 兴安县| 鹤峰县| 道真| 肥西县| 广平县| 平远县| 阳信县| 乌拉特中旗| 宝山区| 澄江县| 二连浩特市| 凤凰县| 工布江达县| 灌云县| 茶陵县| 南雄市| 西充县| 永顺县| 忻州市| 镇康县| 昭平县| 和田县| 紫云| 青岛市|