在C#中计算阶乘的三种不同方法

要在C#中计算阶乘,可以使用以下三种方式之一-

用for循环计算阶乘

示例

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace factorial {

   class Test {

      static void Main(string[] args) {

         int i, res;

         int value = 5;

         res = value;

         for (i = value - 1; i >= 1; i--) {

            res = res * i;

         }

         Console.WriteLine("\nFactorial of "+value+" = "+res);

         Console.ReadLine();

      }

   }

}

输出结果

Factorial of 5 = 120

用while循环计算阶乘

示例

using System;

namespace MyApplication {

   class Factorial {

      public int display(int n) {

         int res = 1;

         while (n != 1) {

            res = res * n;

            n = n - 1;

         }

         return res;

      }

      static void Main(string[] args) {

         int value = 5;

         int ret;

         Factorial fact = new Factorial();

         ret = fact.display(value);

         Console.WriteLine("Value is : {0}", ret );

         Console.ReadLine();

      }

   }

}

输出结果

Value is : 120

使用递归计算阶乘

示例

using System;

namespace MyApplication {

   class Factorial {

      public int display(int n) {

         if (n == 1)

            return 1;

         else

            return n * display(n - 1);

      }

      static void Main(string[] args) {

         int value = 5;

         int ret;

         Factorial fact = new Factorial();

         ret = fact.display(value);

         Console.WriteLine("Value is : {0}", ret );

         Console.ReadLine();

      }

   }

}

输出结果

Value is : 120

以上是 在C#中计算阶乘的三种不同方法 的全部内容, 来源链接: utcz.com/z/358997.html

回到顶部