在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