Giai thừa là một phép toán 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, bạn đã hiểu giai thừa là gì và làm cách nào để viết chương trình tính giai thừa trong C/C++? Hãy cùng Vanhoadoisong tìm hiểu!
Mục lục
Khái niệm giai thừa
Lý thuyết
Giai thừa là một toán tử một ngôi áp dụng trên tập hợp các số nguyên dương. Đơn giản thì giai thừa là tích các số tự nhiên dương 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! x (n + 1)
Lưu ý:
- n là số nguyên dương (n > 0)
- 0! = 1
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ì kết quả là 1.
- Nếu n > 1 thì sử dụng công thức truy hồi để tính (n-1)! rồi nhân với n.
Cú pháp:
int Giaithua(int n)
{
if (n == 1)
return 1;
return n * Giaithua(n-1);
}
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:
Bài viết liên quan:
#include <iostream>
using namespace std;
int Giaithua(int n)
{
if (n == 1)
return 1;
return n * Giaithua(n-1);
}
int main()
{
int n;
cout << "Nhap vao so nguyen duong n: ";
cin >> n;
cout << "Giai thua cua " << n << " la: " << Giaithua(n);
return 0;
}
Viết chương trình tính giai thừa trong C, C++ bằng vòng lặp
Giải thuật
- 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, 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;
}
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 bằng vòng lặp for.
#include <iostream>
using namespace std;
int Giaithua(int n)
{
int Giaithua = 1;
for (int i = 1; i <= n; i++)
Giaithua *= i;
return Giaithua;
}
int main()
{
int n;
cout << "Nhap vao so nguyen duong n: ";
cin >> n;
cout << "Giai thua cua " << n << " la: " << Giaithua(n);
return 0;
}
Xem thêm:
- Vòng lặp For là gì? Cách dùng vòng lặp For trong C/C++
- Năm ánh sáng là gì? 1 năm ánh sáng bằng bao nhiêu km, dặm?
- Giải nghĩa các từ viết tắt trong tiếng Anh ý nghĩa, đầy đủ nhất
Hy vọng bài viết này đã giúp bạn hiểu thêm về giai thừa và cách tính giai thừa trong C/C++. Chúc bạn thành công!
Nguồn: nguyenvanhieu.vn