Professional Documents
Culture Documents
AIVN Exercise 3
AIVN Exercise 3
16/5/2022
1. Áp dụng kiến thức từ việc xử lý chuỗi, hãy viết hàm đếm số lượng chữ cái
(char) và chữ số (digits) trong 1 chuỗi bất kì
Ví dụ:
• Input: “dangkhoa20006”
• Output: char = 8, digits = 5
3. Viết hàm tính giá trị trung bình của những digits xuất hiện trong chuỗi đầu
vào
• Input: “dangkhoa20006”
• Output: 1.6
1
5. Embosser là một thiết bị in văn bản đặc biệt. Văn bản được in tuần tự, từng
ký tự. Thiết bị bao gồm một bánh xe với các chữ cái tiếng Anh viết thường
được sắp xếp theo vòng tròn, pointer sẽ trỏ đến chữ cái hiện tại sau mỗi
lượt quay. Cứ mỗi lần quay, nó được phép quay theo chiều kim đồng hồ hoặc
ngược chiều kim đồng hồ sao cho số vòng quay ngắn nhất có thể. Ban đầu,
pointer trỏ đến chữ cái ’a’. Các chữ cái khác được sắp xếp như trên hình.
Hãy viết hàm tính toán số lần Embosser quay ít nhất có thể để in ra chuỗi
đầu vào.
Gợi ý: Bạn có thể dùng hàm ord() trong Python để trả về vị trí index
của kí tự đó trong bảng mã ASCII, và từ đó có thể tính ra khoảng cách giữa
những kí tự theo bảng chữ cái.
• Input: zeus
• Output: 18
Giải thích:
• Ban đầu: a->z: 1 lần.
• z -> e: 5 lần.
• e -> u: 10 lần.
• u -> s: 2 lần.
2
• Tổng cộng: 18 lần quay.
Bài tập này được mình lượt dịch từ Codeforces. Bạn có thể vào link gốc để
hiểu rõ bài toán này hơn.
Link gốc Codeforces: (https://codeforces.com/problemset/problem/731/A)