用 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("
Factorial 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

更新日期: 2020-06-19

614 人浏览

开启您的职业生涯

完成课程,获得认证

开始
广告