Để 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