編寫一個 C# 程式在使用遞迴時計算階乘


數字階乘是我們使用遞增函式 checkFact() 查詢的內容,如下例所示 −

如果值為 1,則返回 1,因為階乘為 1 −

if (n == 1)
return 1;

如果不是,那麼如果要計算 5!的值,將為以下迭代呼叫遞迴函式

Interation1:
5 * checkFact (5 - 1);

Interation2:
4 * checkFact (4 - 1);

Interation3:
3 * checkFact (3 - 1);

Interation4:
4 * checkFact (2 - 1);

要使用遞迴計算階乘,你可以嘗試執行以下程式碼,顯示上面所做的事情 −

示例

 即時演示

using System;

namespace Demo {

   class Factorial {

      public int checkFact(int n) {
         if (n == 1)
         return 1;
         else
         return n * checkFact(n - 1);
      }

      static void Main(string[] args) {

         int value = 9;
         int ret;

         Factorial fact = new Factorial();
         ret = fact.checkFact(value);
         Console.WriteLine("Value is : {0}", ret );
         Console.ReadLine();
      }
   }
}

輸出

Value is : 362880

更新於: 2020 年 6 月 20 日

2K+ 檢視

開啟你的 事業

完成課程獲得認證

開始
廣告
© . All rights reserved.