---
url: https://docs.nemo12.com/curriculum/aops/number-algebra/modular.md
description: >-
  Module 3.2 Số học mô-đun (Số và đại số): dùng số dư làm công cụ, đồng dư thức
  và luỹ thừa theo mô-đun.
---

# Module 3.2 · Modular arithmetic (Số học mô-đun)

Thuộc [Package 3 · Number and Algebra](/curriculum/aops/number-algebra/).

| | |
| --- | --- |
| **Unit** | 4 |
| **Mastery level** | 6 tới 12 |
| **Lớp (VN)** | 7 tới 12 |
| **Mức thi đấu** | AMC 8 tới Olympiad |
| **Key concept chính** | Equivalence (Tương đương) · Pattern (Quy luật) |

Đây là công cụ có tỉ lệ sức mạnh trên độ phức tạp cao nhất của số học thi đấu. Ý nền tầm thường: **chỉ quan tâm số dư**. Hệ quả thì rất xa.

***

## Unit 1 · Remainders as a tool (Dùng số dư làm công cụ)

> **Tôi sẽ làm được** trả lời câu hỏi về số khổng lồ bằng cách chỉ theo dõi số dư của nó.

**Mastery level 6-11 · Lớp 7-12 · AMC 8 tới Olympiad · Pattern (Quy luật)**

| Bậc | Learner làm được gì |
| --- | --- |
| **Đang hình thành** | Cố tính giá trị thật của số lớn |
| **Đạt** | Theo dõi số dư qua các phép cộng và nhân |
| **Vững** | Nhận ra **số dư lặp lại theo chu kỳ**, và dùng chu kỳ đó |

**Bằng chứng đạt.** Learner tìm chữ số tận cùng của một luỹ thừa lớn bằng chu kỳ số dư, không tính luỹ thừa.

**Hiểu lầm thường gặp.** Bài về số lớn thì cần máy tính. Phần lớn bài số học thi đấu về số khổng lồ được thiết kế để **không tính được**, và lời giải luôn là bỏ hết thông tin trừ số dư.

**Knowledge node.** Số dư · Chu kỳ số dư · Chữ số tận cùng

***

## Unit 2 · Congruences (Đồng dư thức)

> **Tôi sẽ làm được** viết và biến đổi đồng dư thức như biến đổi phương trình.

**Mastery level 8-12 · Lớp 9-12 · AMC 12 tới Olympiad · Equivalence (Tương đương)**

| Bậc | Learner làm được gì |
| --- | --- |
| **Đang hình thành** | Nói về số dư bằng lời, không dùng ký hiệu |
| **Đạt** | Viết đồng dư thức và cộng, trừ, nhân hai vế |
| **Vững** | Biết **chia hai vế cần điều kiện gì**, và không chia bừa như với phương trình |

**Bằng chứng đạt.** Learner giải một đồng dư thức bậc nhất và nói rõ vì sao chia được hay không chia được.

**Hiểu lầm thường gặp.** Đồng dư thức biến đổi hệt phương trình. Cộng, trừ, nhân thì đúng; **chia thì không**, trừ khi số chia nguyên tố cùng nhau với mô-đun. Đây là chỗ sai nhiều nhất khi learner mới dùng ký hiệu đồng dư.

**Knowledge node.** Đồng dư thức · Phép toán trên đồng dư · Điều kiện chia

***

## Unit 3 · Powers modulo n (Luỹ thừa theo mô-đun)

> **Tôi sẽ làm được** tính luỹ thừa rất lớn theo một mô-đun, bằng chu kỳ hoặc bằng bình phương liên tiếp.

**Mastery level 9-12 · Lớp 10-12 · AIME tới Olympiad · Pattern (Quy luật)**

| Bậc | Learner làm được gì |
| --- | --- |
| **Đang hình thành** | Nhân dần từng bước, không kịp với số mũ lớn |
| **Đạt** | Tìm chu kỳ của luỹ thừa rồi lấy số mũ theo chu kỳ |
| **Vững** | Dùng **bình phương liên tiếp** khi chu kỳ dài, và biết chọn cách nào |

**Bằng chứng đạt.** Learner tính một luỹ thừa với số mũ hàng nghìn theo một mô-đun, trong vài dòng.

**Hiểu lầm thường gặp.** Chu kỳ luôn ngắn nên cứ tìm chu kỳ. Có mô-đun cho chu kỳ rất dài, và khi đó bình phương liên tiếp nhanh hơn hẳn. Chọn đúng cách là một quyết định chiến lược, đúng như [Module 2.4](/curriculum/aops/strategy/choose).

**Knowledge node.** Luỹ thừa theo mô-đun · Chu kỳ · Bình phương liên tiếp

***

## Unit 4 · Fermat and Euler (Định lý Fermat nhỏ và hàm Euler)

> **Tôi sẽ làm được** dùng hai định lý này để rút gọn số mũ về một khoảng nhỏ.

**Mastery level 11-12 · Lớp 11-12 · Olympiad · Relationships (Quan hệ)**

| Bậc | Learner làm được gì |
| --- | --- |
| **Đang hình thành** | Nhớ phát biểu nhưng không nhận ra lúc dùng |
| **Đạt** | Áp dụng đúng khi mô-đun nguyên tố, kiểm điều kiện trước |
| **Vững** | Dùng hàm Euler cho mô-đun hợp số, và **kiểm điều kiện nguyên tố cùng nhau** |

**Bằng chứng đạt.** Learner rút gọn một số mũ khổng lồ về dưới giá trị hàm Euler, có nêu điều kiện áp dụng.

**Hiểu lầm thường gặp.** Cứ có luỹ thừa lớn là dùng Fermat nhỏ. Định lý đòi **mô-đun nguyên tố** và cơ số không chia hết cho nó. Bỏ qua điều kiện là chỗ mất điểm phổ biến, và ở Olympiad thì mất trọn bài chứ không mất một phần.

**Knowledge node.** Định lý Fermat nhỏ · Hàm Euler · Điều kiện nguyên tố cùng nhau

***

## Dạy module này theo kiểu AoPS

**Problem-first.** Hỏi *"chữ số tận cùng của 7 mũ 2026 là gì"* ngay từ đầu, không dạy gì trước. Learner sẽ thử nhân và bỏ cuộc, rồi tự nhìn ra chu kỳ.

**Khuôn dạy.** Bảng chu kỳ tập thể:

```text
Cả lớp cùng tính 7^1, 7^2, 7^3, ... và chỉ ghi CHỮ SỐ TẬN CÙNG
     ↓
7, 9, 3, 1, 7, 9, 3, 1, ...
     ↓
"Thấy gì? Chu kỳ dài bao nhiêu?"
     ↓
"Vậy 7^2026 thì sao? 2026 chia 4 dư mấy?"
     ↓
"Thử với cơ số khác: 3, 2, 8. Chu kỳ có luôn dài 4 không?"
```

Câu cuối rất quan trọng: nó ngăn learner rút ra một quy luật quá vội, và dẫn tới câu hỏi *chu kỳ phụ thuộc vào cái gì*, tức là cửa vào unit 4.

[Module 3.3 · Algebraic manipulation →](/curriculum/aops/number-algebra/manipulation)
