Chữ số lớn nhất của một số
Tách chữ số bằng % 10 và / 10 là kỹ thuật cơ bản cho mọi bài số học: kiểm tra đối xứng số, tính tổng chữ số, đếm chữ số. Bài này luyện tìm cực đại trên các chữ số.

Toán học là nền móng của thuật toán. Nắm chắc các giải thuật số học kinh điển để giải các bài toán số lớn, chia dư và đếm tổ hợp nhanh chóng.
bài tập có chấm code
Bài tập theo chuyên đề, có đề bài, ví dụ và starter code riêng.
cơ bản
Củng cố nền tảng và làm quen với kỹ thuật cốt lõi.
trung bình
Kết hợp nhiều bước suy luận để vận dụng kiến thức.
nâng cao
Thử thách tối ưu, cấu trúc dữ liệu và thuật toán chuyên sâu.
Tối ưu hóa kiểm tra số nguyên tố đến căn bậc hai sqrt(N).
Lọc tất cả số nguyên tố nhỏ hơn N và tìm ước số nguyên tố nhỏ nhất/lớn nhất.
Thuật toán Euclid tính GCD/LCM và giải phương trình đồng dư tuyến tính.
Tính (A^B) % MOD trong thời gian O(log B) và định lý Fermat nhỏ.
Quên lấy dư modulo ở từng bước tính tích dẫn đến tràn số trước khi kịp chia dư.
Sàng Eratosthenes chạy quá kích thước bộ nhớ nếu mảng tĩnh vượt quá 10^7 phần tử.
Trong mỗi mức độ, bài tập được xếp từ dễ nhất đến khó nhất — hãy đi theo số bước.
Nhập xuất, biến, rẽ nhánh và các bước suy luận đơn giản.
Tách chữ số bằng % 10 và / 10 là kỹ thuật cơ bản cho mọi bài số học: kiểm tra đối xứng số, tính tổng chữ số, đếm chữ số. Bài này luyện tìm cực đại trên các chữ số.
Ước chung lớn nhất dùng để rút gọn phân số và đồng bộ chu kỳ. Cách duyệt từng ước tốn O(min(a,b)), còn thuật toán Euclid chỉ mất O(log min(a,b)) nhờ hệ thức gcd(a,b) = gcd(b,…
Bội chung nhỏ nhất dùng để quy đồng mẫu số và đồng bộ chu kỳ tác vụ. Duyệt bội tốn O(lcm), trong khi hệ thức lcm(a,b) = |a · b| / gcd(a,b) chỉ mất O(log…
Kiểm tra nguyên tố là bước mở đầu của mật mã và sàng số. Thử chia mọi số từ 2 tới n-1 tốn O(n); chỉ cần tới √(n) vì nếu n = u × v thì một thừa số không vượt quá √(n).
Vòng lặp, mảng một chiều, chuỗi và hàm ở mức cơ bản.
Số lượng ước quyết định nhiều tính chất số học: số nguyên tố có đúng hai ước, số chính phương có số ước lẻ. Duyệt tới √(n) và cộng theo từng cặp ước nhanh hơn nhiều so với duyệ…
Số chính phương bằng bình phương của một số nguyên. Trong C++, sqrt trả về số thực nên phải hiệu chỉnh kết quả để tránh sai số khi n lớn.
Cho số nguyên dương N. Hãy tính:
Dùng một kỹ thuật quen thuộc: sắp xếp, tìm kiếm, đếm, ngăn xếp.
Cho hai số nguyên dương A và B. Theo định lý Bézout, luôn tồn tại hai số nguyên x và y sao cho:
Hệ thống mạng nơ-ron phân tán của AI Empire Academy cần đồng bộ hóa chu kỳ cập nhật trọng số giữa hai cụm GPU độc lập. Cụm thứ nhất phát tín hiệu sau mỗi A nano-giây, cụm thứ hai p…
Cho một mảng gồm N số nguyên (N luôn là số lẻ). Biết rằng trong mảng có đúng một số nguyên xuất hiện đúng 1 lần duy nhất, còn mọi số nguyên khác đều xuất hiện đúng 2 lần.
Cho một số nguyên không âm 64-bit X và một chỉ số bit K (0 ≤ K ≤ 62, đánh số từ 0 từ phải sang trái).
Đếm bit 1 là thao tác cơ bản của lập trình hệ thống: kiểm tra cờ trạng thái, nén dữ liệu và tối ưu bộ nhớ. Phép n & 1 lấy bit thấp nhất và n >>= 1 dịch sang phải là đủ để duyệt toà…
Cho Q truy vấn, mỗi truy vấn gồm ba số nguyên A, B, M. Hãy tính:
Phối hợp hai kỹ thuật trong cùng một lời giải.
Sàng Eratosthenes đánh dấu bội số của từng số nguyên tố và đếm được cả khoảng trong O(N log log N), nhanh hơn hẳn việc kiểm tra từng số.
Cho 3 số nguyên dương a, b, c. Tìm cặp số nguyên (x, y) thỏa mãn:
Cho hai số nguyên dương L và R (1 ≤ L ≤ R ≤ 1012, R - L ≤ 106).
Cho số nguyên dương N.
Hệ thống mã hóa trọng số mô hình AI của AI Empire Academy yêu cầu xử lý hai phép toán số học nền tảng:
Hệ thống Gateway của AI Empire Academy cần xử lý Q truy vấn thống kê tổ hợp. Mỗi truy vấn gồm hai số nguyên N và K (0 ≤ K ≤ N ≤ 106). Hãy tính giá trị C(N, K) mod 109+7.
Thuật toán chuyên sâu: quy hoạch động, đồ thị, cây.
Cho T số nguyên dương N1, N2, …, NT. Với mỗi số Ni, hãy kiểm tra xem số đó có phải là số nguyên tố hay không.
Cho 3 số nguyên dương A, B, M với M là số nguyên tố và gcd(A, M) = 1. Hãy tìm số nguyên không âm nhỏ nhất x thỏa mãn:
Cho một số nguyên N và một số nguyên tố lẻ P.
Cho một số nguyên dương N (2 ≤ N ≤ 1018). Hãy tìm tất cả các thừa số nguyên tố của N và in ra theo thứ tự tăng dần (nếu một thừa số xuất hiện nhiều lần thì in tương ứng bấy…
Cấu trúc dữ liệu nâng cao và nhiều bước chứng minh.
Cho ba số nguyên dương A, B, M.
x ≡ ri mod mi (i = 1, …, K)
Cho số nguyên dương N. Hàm Mertens M(N) là tổng tiền tố của hàm Mobius:
G(u) = mex{G(v) | u → v}