Mục tiêu
Làm quen cách viết những chương trình solo giản, biện pháp sử dụng:
Phương pháp đệ quyMô tả bài toán
Cho số n, tính giai quá của số nguyên dương n.
Bạn đang xem: Số giai thừa
Ví dụ:
Input: 5 Output: 5! = 120Hướng dẫn
Định nghĩa
Trong toán học, giai thừa là một toán tử một ngôi bên trên tập hợp những số từ bỏ nhiên. đến n là một số trong những tự nhiên dương, "n giai thừa", kí hiệu n! là tích của n số thoải mái và 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, cùng với n = 0, bạn ta quy mong 0! = 1.
Ví dụ: 5! = 5 * 4 * 3 * 2 * 1 = 120
Thuật toán
Cách 1: cần sử dụng vòng lặp
Cách 2: cần sử dụng đệ quy
Ta hoàn toàn có thể định nghĩađệ quy (quy nạp) n! như sau:
0! = 1 n! = n × (n - 1)! với n> 0Ví dụ: 3! = 3 x 2! = 6 (vì 2! = 2)
Bài tậpmang tính tham khảo, hỗ trợ các bạn làm quen và rèn luyện với những bàn toán xây dựng cơ bạn dạng trong C++.
Kteam khuyến khích chúng ta tự phân tích đề bài xích > từ bỏ giải việc > debugđể kiểm tra hiệu quả và fix lỗi trong quá trình giải. Sau đó, bạn cũng có thể tham khảosource code mẫu để hoàn chỉnh bài tập.
Để được cung cấp 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ụcHỏ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 #include "Header.h"using namespace std;int main()int nInput;cout > nInput;int nFactorial = tinhGiaiThua(nInput);cout 0; i--)nFact = nFact * i;return nFact;// giải pháp 2: áp dụng đệ quyint tinhGiaiThuaDeQuy(int nInput)if (nInput == 0)return 1;return nInput * tinhGiaiThuaDeQuy(nInput - 1);
Kết luận
Bạn có thể củng cố kỹ năng C++ tự khóa lập trình sẵn C++ cơ bản.Hoặc xem thêm các bài bác tập khác trong khóa Bài toán bom tấ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ó”.
Xem thêm: Lãi Kép Là Gì ? Công Thức Tính Lãi Gộp Liên Tục Có Liên Quan Gì Đến Số E
Thảo luận
Nếu các bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng e dè đặt câu hỏi trong phần BÌNH LUẬN bên dưới hoặc vào mục HỎI và ĐÁP trên thư viện inthepasttoys.net.com để nhận được sự hỗ trợ từ cộng đồng.