1. Bản chất Toán học
Gọi số tự nhiên đầu tiên là x, số tiếp theo sẽ là x+1.
Điều kiện 1: trong hai số này có một số chia hết cho 9 → x ≡ 0 (mod 9) hoặc x ≡ 8 (mod 9).
Điều kiện 2: tổng hai số là một số có ba chữ số 100a+10b+c (a, b, c ∈ {0,…,9}, a≠0).
Điều kiện 3: 100a+10b+c chia hết cho 5 → c = 0 hoặc 5.
Điều kiện 4: a + c chia hết cho 9.
Điều kiện 5: a + b chia hết cho 4.
Từ x + (x+1) = 2x + 1 = 100a + 10b + c suy ra 2x = 100a + 10b + c - 1.
Vì 2x chẵn, nên 100a + 10b + c - 1 phải chẵn → c phải là 1, 3, 5, 7, 9.
Kết hợp với c = 0 hoặc 5 (điều 3) chỉ còn c = 5.
Với c = 5, a + c = a + 5 chia hết cho 9 → a ≡ 4 (mod 9). Vì a là chữ số (1‑9) nên a = 4.
Tiếp theo a + b = 4 + b chia hết cho 4 → b ≡ 0 (mod 4). Các chữ số b thỏa mãn: 0, 4, 8.
Thay vào 2x + 1 = 100·4 + 10b + 5 = 405 + 10b → 2x = 404 + 10b → x = 202 + 5b.
Kiểm tra các giá trị b:
- b = 0 → x = 202, x+1 = 203 → 202 chia hết cho 9? 202 mod 9 = 4 → không.
- b = 4 → x = 222, x+1 = 223 → 222 mod 9 = 6 → không.
- b = 8 → x = 242, x+1 = 243 → 243 mod 9 = 0 → đúng (có một số chia hết cho 9).
Vậy cặp số cần tìm là
242 và 243. Tổng của chúng là
485 (ba chữ số, chia hết cho 5, a=4, b=8, c=5 thỏa mãn các điều kiện còn lại).
2. Tư duy Thuật toán Scratch
- Khởi tạo biến
x (số đầu) và sum (tổng).
- Đặt vòng lặp
repeat until để thử các giá trị x = 0,1,2,… cho đến khi tìm được cặp thỏa mãn.
- Trong mỗi vòng lặp:
- Tính
y = x + 1.
- Kiểm tra
(x mod 9 = 0) or (y mod 9 = 0) → có ít nhất một số chia hết cho 9.
- Tính
sum = x + y.
- Rải
sum thành ba chữ số a, b, c bằng phép chia nguyên và phần dư.
- Kiểm tra các điều kiện:
c = 0 or c = 5 (chia hết cho 5).
(a + c) mod 9 = 0.
(a + b) mod 4 = 0.
- Nếu tất cả đúng → dừng vòng lặp, hiển thị
x, y và sum.
- Cuối cùng dùng khối
say hoặc show variable để đưa kết quả cho người học.
3. Nhóm khối Scratch cần dùng
Events 🟡: when green flag clicked – khởi động chương trình.
Control 🟠: repeat until (hoặc forever + if … then stop), if … then, else.
Sensing 🩵: không cần, trừ khi muốn nhập x thủ công bằng ask … and wait.
Variables 🟧: tạo x, y, sum, a, b, c, found (boolean).
Operators 🟢: +, -, *, / (phép chia nguyên), mod, =, or, and.
Ví dụ khối:
set sum = x + (x + 1)
set a = sum / 100 (chia nguyên)
set b = (sum - a*100) / 10
set c = sum - a*100 - b*10
if ((x mod 9 = 0) or ((x+1) mod 9 = 0)) and (c = 0 or c = 5) and ((a + c) mod 9 = 0) and ((a + b) mod 4 = 0) then → set found = true
Khi
found = true, dùng khối
say (join "Kết quả: " (join x (join " và " y))) để thông báo
242 và 243.
Các nhóm khối Scratch gợi ý:
khi bấm vào lá cờ xanh
hỏi [Nhập số liệu đề bài] và chờ
đặt [Ket_Qua v] thành (0)
lặp lại (trả lời) lần
((Ket_Qua) + (câu trả lời))
💡 Mẹo từ AI: Đảm bảo khởi tạo giá trị biến số bằng 0 trước khi bước vào vòng lặp!