Gần sáu năm trước, thành viên PPCGag, thành viên PPCG đã đăng tải thử thách sau:
Trong một con xúc xắc tiêu chuẩn (chết), các con số được sắp xếp sao cho các mặt đối diện thêm vào bảy. Viết chương trình ngắn nhất có thể bằng ngôn ngữ ưa thích của bạn, kết quả là ném ngẫu nhiên theo sau là 9 lần rút ngẫu nhiên. Một lần lật là một phần tư của xúc xắc, ví dụ: nếu xúc xắc phải đối mặt với 5, tất cả các lần nhảy có thể là 1,3,4 và 6.
Ví dụ về đầu ra mong muốn:
1532131356
Vì vậy, bây giờ mọi người đã hoàn toàn quên nó và câu trả lời chiến thắng đã được chấp nhận từ lâu, chúng tôi sẽ viết một chương trình để xác nhận các chuỗi giới hạn được tạo ra bởi các giải pháp được gửi. (Điều này có ý nghĩa. Chỉ cần giả vờ như vậy.)
Thử thách
Chương trình hoặc chức năng của bạn được đưa ra một chuỗi như 1532131356
. Xác thực rằng mỗi chữ số liên tiếp là:
- Không bằng chữ số trước
- Không bằng 7 trừ chữ số trước
(Bạn không phải xác nhận chữ số đầu tiên.)
Quy tắc
- Chương trình của bạn phải trả về giá trị trung thực nếu đầu vào hợp lệ và giá trị falsey khác.
- Bạn có thể giả sử rằng đầu vào chỉ bao gồm các chữ số 1-6 và dài ít nhất 1 ký tự. Các chuỗi sẽ không có độ dài cố định như trong thử thách của steenslag.
- Bạn có thể lấy đầu vào dưới dạng một chuỗi (
"324324"
), một cơ sở dữ liệu giống như mảng hoặc mảng ([1,3,5]
) hoặc dưới dạng nhiều đối số (yourFunction(1,2,4)
).
Áp dụng quy tắc I / O và kẽ hở tiêu chuẩn .
Các trường hợp thử nghiệm
Sự thật
1353531414
3132124215
4142124136
46
4264626313135414154
6
2642156451212623232354621262412315654626212421451351563264123656353126413154124151545145146535351323
5414142
Falsey
Chữ số lặp lại
11 3132124225 6423126354214136312144245354241324231415135454535141512135141323542451231236354513265426114231536245 553141454631 14265411
Đối diện của cái chết
16 42123523545426464236231321 61362462636351 62362462636361