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é!
Làm quen với Giai thừa trong C++
I. Khái niệm Giai thừa
1. Lý thuyết
Giai thừa là 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.
2. 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
II. Viết chương trình tính giai thừa trong C, C++ dùng đệ quy
1. 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
2. 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
III. Viết chương trình tính giai thừa trong C, C++ bằng vòng lặp
1. 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
2. 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
Xem thêm:
- Selection sort là gì? Thuật toán sắp xếp chọn Selection sort trong C/C++
- Insertion sort là gì? Thuật toán sắp xếp chèn Insertion sort trong C/C++
- Vòng lặp For là gì? Cách dùng vòng lặp For trong C/C++
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 viết giai thừa trong C/C++. Chúc các bạn thực hiện thành công!
Nguôn: nguyenvanhieu.vn