Mục tiêu
Làm quen cách viết các chương trình đơn giản, cách sử dụng:
- Tải Chất điện li – Phương trình điện li – Nồng độ các ion trong dung dịch – Chuyên đề môn Hóa học lớp 11
- Thế giới
- 3 cách viết công thức toán học trong Word đơn giản, hiệu quả mà bạn không nên bỏ qua
- 30+ Câu thành ngữ nói về lòng dũng cảm hay, rèn ý chí mọi người
- Hình bình hành có một góc vuông là hình gì ?
- VÒNG LẶP FOR
- Phương pháp đệ quy
Mô tả bài toán
Cho số n, tính giai thừa của số nguyên dương n.
Bạn đang xem: Tìm giai thừa của một số (Find Factorial of Number)
Ví dụ:
- Input: 5
- Output: 5! = 120
Hướng dẫn
Định nghĩa
Trong toán học, giai thừa là một toán tử một ngôi trên tập hợp các số tự nhiên. Cho n là một số tự nhiên dương, “n giai thừa”, kí hiệu n! là tích của n số tự nhiên dương đầu tiên.
n! = n x (n – 1) x (n-2) …. 4 x 3 x 2 x 1
Đặc biệt, với n = 0, người ta quy ước 0! = 1.
Ví dụ: 5! = 5 * 4 * 3 * 2 * 1 = 120
Thuật toán
Xem thêm : Trọn bộ Bài tập Toán cơ bản lớp 4
Cách 1: Dùng vòng lặp
Cách 2: Dùng đệ quy
Ta có thể định nghĩa đệ quy (quy nạp) n! như sau:
- 0! = 1
- n! = n × (n – 1)! với n> 0
Ví dụ: 3! = 3 x 2! = 6 (vì 2! = 2)
Bài tập mang tính tham khảo, hỗ trợ các bạn làm quen và luyện tập với các bàn toán lập trình cơ bản trong C++.
Kteam khuyến khích các bạn tự phân tích đề bài > tự giải bài toán > debug để kiểm tra kết quả và fix lỗi trong quá trình giải. Sau đó, bạn có thể tham khảo source codemẫu để hoàn chỉnh bài tập.
Để được hỗ trợ tốt nhất, bạn có thể đặt câu hỏi ở phần bình luận bên dưới bài viết hoặc ở mục Hỏi & Đáp.
Source code tham khảo
Header.h
// Header.h #ifndef _HEADER_ #define _HEADER_ int tinhGiaiThua(int); int tinhGiaiThuaDeQuy(int); #endif // _HEADER_
Source.cpp
// Source.cpp #include <iostream> #include “Header.h” using namespace std; int main() { int nInput; cout << “Enter n(integer): “; cin >> nInput; int nFactorial = tinhGiaiThua(nInput); cout << nFactorial << endl; return 0; } // Cách 1: Sử dụng vòng lặp int tinhGiaiThua(int nInput) { int nFact = 1; for (int i = nInput; i > 0; i-) { nFact = nFact * i; } return nFact; } // Cách 2: Sử dụng đệ quy int tinhGiaiThuaDeQuy(int nInput) { if (nInput == 0) { return 1; } return nInput * tinhGiaiThuaDeQuy(nInput – 1); }
Kết luận
Bạn có thể củng cố kiến thức C++ từ khóa Lập trình C++ cơ bản.
Hoặc tìm hiểu thêm các bài tập khác trong khóa Bài toán kinh điển trong lập trình
Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của bạn để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.
Thảo luận
Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần BÌNH LUẬN bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.
Nguồn: https://thegioiso.edu.vn
Danh mục: Giáo Dục