Lấy cảm hứng từ bài đăng di cư xấu này .
Người đứng đầu an ninh tại công ty của bạn quan tâm đến hệ thống tạo mã PIN của bạn sau khi nó cung cấp cho anh ta 12345
. Anh ấy cũng không thực sự đánh giá cao trò đùa Spaceballs mà bạn đã trả bằng chi phí của anh ấy, vì vậy bạn đã được ủy quyền để viết lại trình tạo mã PIN. Vì nó phải phù hợp với một số phần cứng đặc biệt, bạn phải làm cho nó nhỏ nhất có thể.
Nhiệm vụ của bạn
- Bạn lấy hai đầu vào - # mã PIN và kích thước mã PIN bằng chữ số.
- Tạo ngẫu nhiên số lượng mã PIN có kích thước được chỉ định và in ra.
- Tất cả các mã PIN hợp lệ có kích thước phải có thể được in ra, ngay cả khi chúng không có khả năng thống nhất.
Tuy nhiên, có một số hạn chế đối với mã PIN - đây là những hạn chế không hợp lệ:
- Nếu tất cả các cặp có cùng một chữ số:
114422
(Lưu ý: điều này rõ ràng sẽ bao gồm tất cả các mã PIN cùng một chữ số). - Mã PIN ngày càng tăng (mod 10) :
246802
. - Tất cả các nhóm 3 là dòng vật lý trên bàn phím của
1 2 3;4 5 6;7 8 9;bksp 0 enter;
:147369
. - Mã PIN hoàn toàn có thể được chia thành các nhóm từ quy tắc 1 và quy tắc 3.
- Nếu tất cả các cặp có cùng một chữ số:
- Đây là mã golf , vì vậy mã ngắn nhất tính bằng byte sẽ thắng!
123
, nhưng 55432
sẽ ổn thôi.
55123
)?