Để tính giai thừa trong C #, bạn có thể sử dụng bất kỳ cách nào trong ba cách sau -
Tính giai thừa với vòng lặp for
Ví dụ
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(); } } }
Đầu ra
Factorial of 5 = 120
Tính giai thừa với vòng lặp while
Ví dụ
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(); } } }
Đầu ra
Value is : 120
Tính giai thừa bằng đệ quy
Ví dụ
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(); } } }
Đầu ra
Value is : 120