Ta có thể thử từng giá trị của for
. Với mỗi
Thuật toán:
Mã giả:
for (y từ 1 tới 10^7) {
biết x, biết y
tổng = x+y
kiem_tra(tổng)
}
Cách kiểm tra
Tổng
123456
…
123457
210987
…
222222
Thuật toán:
for (độ dài từ 1 tới 17) {
for (chữ số từ 1 tới 9) {
Tạo ra z là tổng? (for)
z > x
y = z - x
}
}
135, 222, 867
1236748712367581236
<
11111111111111111111
1236748712367581236
<
2222222222222222222
105
<
111
33345
<
111
987
990
Có những số
Không biết –> Chạy for tất cả giá trị có thể của
Hàm kiểm tra SNT: Xem Lesson "Số học"
Nếu hàm kiểm tra
Nếu hàm kiểm tra
Tối ưu kiểm tra SNT bằng kĩ thuật "Sàng nguyên tố". Sàng Eratosthenes
Subtask 1: Đệ quy quay lui (backtracking)
Subtask 2: Quy hoạch động cơ bản + Big Num
Bài toán đếm thứ tự từ điển.
Lần lượt xây dựng các chữ số
Lần lượt điền các chữ số từ
QHĐ chữ số? Không cần thiết vì chỉ là