Câu hỏi 11
Kiểm tra một dãy 16 chữ số bằng quy trình: đảo ngược dãy; giữ nguyên chữ số ở vị trí lẻ, nhân đôi chữ số ở vị trí chẵn; nếu tích có hai chữ số thì thay bằng tổng hai chữ số; cộng tất cả và yêu cầu tổng chia hết cho 10. Với dãy trong bài toán $2853\ 00QP\ P003\ 6002$, có bao nhiêu cặp chữ số $(P,Q)$ với $P\le Q$ thỏa kiểm tra?
Ví dụ được cho ngay trong nguồn: nhập dãy 4634 8932 1298 2767, đảo thành 7672 8921 2398 4364. Tổng các chữ số vị trí lẻ là A=7+7+8+2+2+9+4+6=45. Nhân đôi các chữ số vị trí chẵn được 12,4,18,2,6,16,6,8; tổng các chữ số của các kết quả này là B=(1+2)+4+(1+8)+2+6+(1+6)+6+8=45. Khi đó C=A+B=90, tận cùng bằng 0 nên dãy ví dụ đạt phép kiểm tra. Nguồn giới thiệu đây là thuật toán Luhn dùng phát hiện sai sót nhập một dãy số dài.
Ví dụ được cho ngay trong nguồn: nhập dãy 4634 8932 1298 2767, đảo thành 7672 8921 2398 4364. Tổng các chữ số vị trí lẻ là A=7+7+8+2+2+9+4+6=45. Nhân đôi các chữ số vị trí chẵn được 12,4,18,2,6,16,6,8; tổng các chữ số của các kết quả này là B=(1+2)+4+(1+8)+2+6+(1+6)+6+8=45. Khi đó C=A+B=90, tận cùng bằng 0 nên dãy ví dụ đạt phép kiểm tra. Nguồn giới thiệu đây là thuật toán Luhn dùng phát hiện sai sót nhập một dãy số dài.