1. Bản chất Toán học
Ta cần tìm số nguyên S có 4 chữ số (1000 ≤ S ≤ 9999) sao cho:
- S chia hết cho 2 và 5 → S phải chia hết cho LCM(2,5)=10, nghĩa là chữ số hàng đơn vị d = 0.
- Tổng các chữ số a+b+c+d = 18.
Vì d = 0, phương trình tổng trở thành a + b + c = 18.
Điều kiện 4 chữ số đồng thời yêu cầu a ≥ 1 (không được là 0).
Để S là nhỏ nhất, ta muốn a càng nhỏ càng tốt, sau đó b càng nhỏ, rồi c.
Thử a = 1 → b + c = 17. Giá trị b nhỏ nhất có thể là 8 (vì c ≤ 9). Khi b = 8, c = 9 → tổng = 1+8+9+0 = 18.
Số thu được là 1 8 9 0 = 1890.
Kiểm tra: 1890 ÷ 10 = 189 (đúng), 1+8+9+0 = 18 (đúng).
Không tồn tại số nào nhỏ hơn 1890 thỏa mãn vì nếu a = 1 mà b < 8 thì c > 9 (không hợp lệ).
Vì vậy
số có 4 chữ số nhỏ nhất thỏa điều kiện là 1890.
2. Tư duy Thuật toán Scratch
- Khởi tạo 4 biến:
a, b, c, S (đại diện cho số 4 chữ số).
- Vòng lặp
repeat until để tăng dần giá trị S từ 1000 lên tới 9999.
- Trong mỗi vòng lặp:
- Kiểm tra
S mod 10 = 0 (đảm bảo chia hết cho 10).
- Tách các chữ số:
a = floor(S / 1000), b = floor((S mod 1000) / 100), c = floor((S mod 100) / 10), d = S mod 10.
- Tính tổng
a + b + c + d. Nếu bằng 18 → dừng vòng lặp và hiển thị S.
- Do chúng ta muốn số nhỏ nhất, vòng lặp tăng dần sẽ tự động dừng ở giá trị đầu tiên thỏa mãn.
- Kết quả (1890) được hiển thị bằng khối
say hoặc show variable.
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 (điều kiện S > 9999if … then để kiểm tra các điều kiện chia hết và tổng chữ số.
Sensing 🩵: answer (nếu muốn cho người nhập giá trị bắt đầu), ask [Nhập số?] and wait (không bắt buộc).
Variables 🟧: tạo biến S, a, b, c, d, sum.
Operators 🟢: mod (để lấy chữ số cuối), floor (hoặc round kết hợp với chia), +, =, <, > để tính tổng và so sánh.
Các khối say hoặc show variable để hiển thị kết quả cuối cùng (1890).
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!