Giai thừa là gì? Cách viết chương trình tính giai thừa trong C/C++

Giai thừa là một phép toán vô cùng quan trọng trong toán học. Trong lập trình, giai thừa được sử dụng rất nhiều trong các bài tập lập trình căn bản. Vậy giai thừa là gì? Làm sao để viết chương trình tính giai thừa trong C/C++. Cùng theo dõi bài viết nhé!

Khái niệm Giai thừa

Lý thuyết

Giai thừa là một toán tử một ngôi trên tập hợp các số nguyên dương. Nói một cách đơn giản thì giai thừa là tích các số tự nhiên dương bắt đầu từ 1 đến n với n là số tự nhiên dương bất kỳ cho trước.

Công thức

  • n! = 1 x 2 x 3 x … x n
  • (n + 1)! =n! (n + 1)

Lưu ý:

  • n là số nguyên dương (n > 0)
  • 0! = 1
Ví dụ về giai thừa
Ví dụ về giai thừa

Viết chương trình tính giai thừa trong C, C++ dùng đệ quy

Giải thuật

  • Nếu n=0 hoặc n=1 thì ta có kết quả là 1.
  • Nếu n>1 thì ta sẽ dùng công thức truy hồi để tính (n-1)! rồi sau đó nhân với n.

Cú pháp: 

int Giaithua(int n);

{

if (n==1)

return if;

return n * Giaithua(n-1)

}

Giải thuật giai thừa bằng đệ quy
Giải thuật giai thừa bằng đệ quy

Code chương trình tính giai thừa trong C, C++ bằng đệ quy

Đề: Nhập một số nguyên dương n bất kỳ. Tính n!

Code: Chương trình tính giai thừa bằng đệ quy.

Code chương trình tính giai thừa trong C, C++ bằng đệ quy
Code chương trình tính giai thừa trong C, C++ bằng đệ quy

Viết chương trình tính giai thừa trong C, C++ bằng vòng lặp

Giải thuật

  • Đầu tiên khởi tạo một biến Giaithua = 1.
  • Cho vòng lặp chạy từ 1 đến n. Với mỗi giá trị của i thì ta gán Giaithua = Giaithua * i.

Cú pháp: 

int Giaithua(int n)

{

int Giaithua= 1;

for (int i = 1; i <= n, i++)

Giaithua *= i;

return Giaithua;

}

Giải thuật giai thừa bằng đệ quy
Giải thuật giai thừa bằng đệ quy

Code chương trình tính giai thừa trong C, C++ bằng đệ quy

Code: Chương trình tính giai thừa bằng vòng lặp for.

Code chương trình tính giai thừa trong C, C++ bằng vòng lặp
Code chương trình tính giai thừa trong C, C++ bằng vòng lặp

Hy vọng bài viết này sẽ giúp bạn hiểu thêm về giai thừa cũng như cách tính giai thừa trong C/C++. Chúc các bạn thực hiện thành công! 

Nguồn: nguyenvanhieu.vn

Bài viết liên quan
Bài viết nên xem