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
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 code mẫ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
include "Header.h"
using namespace std; int main[] { int nInput; cout > nInput; int nFactorial = tinhGiaiThua[nInput]; cout 2011 + 2012 +….+ 2019 có chữ số tận cùng là 5
Tương tự 21 + 32 + 43 + … + 98 + 109 cũng có chữ số tận cùng là chữ số tận cùng của tổng các chữ số:
1 + 2 + 3 + …+ 9 => 21 + 32 + 43 + … + 98 + 109 có chữ số tận cùng là 5
Vậy [2011 + 2012 +….+ 2019] – [21 + 32 + 43 + … + 98 + 109] có chữ số tận cùng la 0.
Ví dụ 2. Tìm chữ số tận cùng của biểu thức:
13 x 45 x 137 x 359 x 657 – 71 x 73 x 75 x 79
Giải:
Tìm chữ số tận cùng của 13 x 45 x 137 x 359 x 657
Ta xét 3 x 5 x 7 x 9 x 7 là tích của số 5 và các số lẻ nên có tận cùng là 5
\=> 13 x 45 x 137 x 359 x 657 có chữ số tận cùng là 5
Tương tự ta có: 71 x 73 x 75 x 79 có chữ số tận cùng là 5
Vậy 13 x 45 x 137 x 359 x 657 – 71 x 73 x 75 x 79 có chữ số tận cùng là 0
Ví dụ 3. Tìm chữ số tận cùng của A = 3 x 3 x ….x 3 [ 100 thừa số 3]
Giải:
Ta có: 3 x 3 x 3 x 3 = 81, tích của 4 chữ số 3 cho chữ số tận cùng bằng chữ số 1.
Vì 100 : 3 = 33 dư 1
Vậy 100 thừa số 3 ta nhóm được 33 nhóm [mỗi nhóm 4 thừa số 3] và dư ra 1 thừa số 3
A = [ 3 x 3 x 3 x 3 ] x ….x [ 3 x 3 x 3 x 3] x 3
Cứ mỗi nhóm có chữ số tận cùng là 1
Vậy tích A có chữ số tận cùng là 3.
Ví dụ 3: Tích sau tận cùng bằng chữ số nào?
B = 4 x 14 x 24 x 34 x ….x 164
Giải:
Tích trên có số thừa số: [164 - 4] : 10 + 1 = 17 [ thừa số]
Ta có: 4 x 4 = 16, tích của 2 chữ số 4 cho chữ số tận cùng bằng chữ số 6.
Vì 17 : 2 = 8 dư 1
Vậy 17 thừa số trên ta nhóm được 8 nhóm [ mỗi nhóm 2 thừa số ] và dư ra 1 thừa số.
B = [ 4 x 14] x [24 x 34] x …. x [144 x 154] x 164
Cứ mỗi nhóm có chữ số tận cùng là 6, số 164 có tân cùng là 4
Vậy B có chữ số tận cùng là 4.
Ví dụ 4: Cho X = A - B, biết:
A = 3 x 13 x 23 x.......x 2003 x 2013
B = 2 x 12 x 22 x ........x 2002 x 2012
Hỏi X có chia hết cho 5 không?
Giải:
A có số các thừa số là: [2013 – 3] : 10 + 1 = 202 [thừa số]
B có số các thừa số là: [2012 – 2] : 10 + 1 = 202 [thừa số]
Ta thấy tích của 4 thừa số tận cùng là 3 sẽ có chữ số tận cùng là 1.
Vì 202 : 4 = 50 dư 2
Vậy A là tích của 50 nhóm [mỗi nhóm có 4 thừa số tận cùng là 3] và dư ra 2 thừa số tận cùng là 3
\=> A có tận cùng là 9.
Tương tự như trên: Tích của 4 thừa số có chữ số tận cùng là 2 có tận cùng là 6.
Vì 202 : 4 = 50 dư 2
Vậy B là tích của 50 nhóm [mỗi nhóm có 4 thừa số có chữ số tận cùng là 2] và dư ra 2 thừa số có chữ số tận cùng là 2.
\=> B tận cùng là 4.
Vậy X có tận cùng là 5 vì 9 – 4 = 5 nên X chia hết cho 5.
Ví dụ 5: Tích A = 4 x 11 x 15 x 6 x 17 x 25 x 45 tận cùng là bao nhiêu chữ số 0?
Giải:
Tích của 4 và 25 có 2 chữ số 0 tận cùng
Tích của 6 và 45 có 1 chữ số 0 tận cùng
Vậy A có 3 chữ số 0 tận cùng.
Ví dụ 6: Cho M = 5 x 6 x 7 x 8 x 9 x ... x 89.
Hỏi M có tận cùng là bao nhiêu chữ số 0?
Giải:
- Tích có các thừa số: 5; 15; 35; 45; 55; 65; 85 khi nhân với một số chẵn có tận cùng là một chữ số 0. Vậy có 7 chữ số 0.
- Tích có các số tròn chục là: 10; 20; 30; 40; 60; 70; 80 . Do đó có 7 chữ số 0 tận cùng.
- Tích có các thừa số: 25; 50; 75 khi nhân mỗi thừa số với một số chia hết cho 4 có tận cùng là 2 chữ số 0. Do đó có tận cùng là 6 chữ số 0.