การสับไพ่สำรับเป็นเรื่องยากสำหรับเด็กดังนั้นพวกเขาจึงต้องหาวิธีที่จะได้สำรับไพ่ที่สับได้อย่างสมเหตุสมผลที่สุดเท่าที่จะทำได้
วิธีหนึ่งในการทำสิ่งนี้ซึ่งให้ผลลัพธ์ที่ดีพอสมควรคือ:
- นำการ์ดด้านบนออกและใส่สถานที่แบบสุ่มในสำรับ
- นำการ์ดด้านล่างออกและใส่ในที่สุ่มในสำรับ
- ทำต่อไปจนกว่าคุณจะเชื่อว่ามันดีพอ
โปรดทราบว่าคุณจะไม่ใส่การ์ดในตำแหน่งด้านบนหรือด้านล่างมันควรจะวางไว้ที่ใดที่หนึ่งในสำรับ
แทนการสับไพ่เราจะสลับตัวอักษรและตัวเลข: 0-9
, A-J
, a-j
, และq-z
Q-Z
เริ่มต้นด้วยสตริงที่แสดงด้านล่างและสลับอักขระตามที่อธิบายไว้ข้างต้น คุณสามารถเลือกได้หากคุณต้องการสับไพ่ต่อไปแบบไม่ จำกัด หรือสับไพ่ 100 รอบ (100 ใบจากด้านบนและ 100 ใบจากด้านล่าง)
0123456789abcdefghijqrstuvwxyzABCDEFGHIJQRSTUVWXYZ
ความท้าทายคือการแสดงตัวละครที่ถูกสับ "สลับ" แต่ละครั้ง (นำออกและใส่การ์ด) จะใช้เวลาระหว่าง 0.25 ถึง 0.35 วินาที
gif ด้านล่างแสดงตัวอย่างผลลัพธ์:
นี่คือcode-golfดังนั้นโค้ดที่สั้นที่สุดในหน่วยไบต์จะชนะ
"ทำไมคุณไม่ต้องa-t
แทนa-j
, q-z
?" เพราะนี่จะแสดงให้เห็นถึงชุดของการ์ดไม่ใช่แค่ตัวละคร และใช่มี 5 ชุด
หมายเหตุ: ฉันตัดสินใจหยุดใช้เครื่องหมายถูกที่code-golf -challenges โพสต์เมตาที่เกี่ยวข้องที่นี่และที่นี่
0-9
, A-J
, a-j
, q-z
และQ-Z
ตามคำถาม