编写一个 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.