ตัวเลขที่จดจำได้ง่าย แต่ในทางทฤษฎีไม่สามารถทำได้ง่าย
ความท้าทายของคุณคือการสร้างโปรแกรม / ฟังก์ชั่นในภาษาใด ๆ ที่สร้างตัวเลขสุ่มอย่างสม่ำเสมอซึ่งตรงกับเกณฑ์เหล่านี้:
ความยาวคือ5 หลัก
มีตัวเลขสองหลักที่ซ้ำกันแยกกันอยู่สองคู่
หนึ่งชุดของตัวเลขที่ซ้ำกันอยู่ที่จุดเริ่มต้นหรือจุดสิ้นสุดและตัวเลขจะอยู่ติดกัน
เลขคี่นั้นล้อมรอบด้วยตัวเลขอีกคู่หนึ่ง
ตัวเลขสองหลักคู่และหมายเลขอื่น ๆ ควรไม่ซ้ำกัน
โปรแกรมของคุณอาจสนับสนุนหมายเลขที่มีเลขศูนย์นำหน้าหรือไม่ขึ้นอยู่กับดุลยพินิจของคุณ หากสนับสนุนเลขศูนย์นำหน้าจะต้องรวมอยู่ในผลลัพธ์: 06088 ไม่ใช่ 6088 หากไม่สนับสนุนเลขศูนย์นำหน้าตัวเลขเช่น 06088 จะไม่ถูกสร้างขึ้นเลย
กรณีทดสอบ
เอาท์พุทที่ยอมรับ:
55373 55494 67611 61633 09033 99757 95944 22808 65622 22161
เอาต์พุตที่ไม่ยอมรับ:
55555 77787 85855 12345 99233 12131 ABCDE 5033
กรณีทดสอบที่ยอมรับได้มากขึ้นสามารถดูได้ที่ลิงค์ pastebinนี้
สิ่งเหล่านี้สร้างขึ้นด้วยโปรแกรมไพ ธ อนนี้:
นำเข้าแบบสุ่ม
สำหรับฉันอยู่ในช่วง (100):
    ถ้า random.randint (0,100)> = 50: # ใส่คู่ที่จุดเริ่มต้นหากเป็นจริง
        temp = [] #working array
        temp.append (random.randint (0,9)) #append เลขสุ่ม
        temp.append (temp [0]) # ผนวกตัวเลขเดิมอีกครั้ง
        x = random.randint (0,9)
        ในขณะที่ x == temp [0]:
            x = random.randint (0,9)
        temp.append (x) # ผนวกตัวเลขที่ไม่ซ้ำอื่น ๆ
        y = random.randint (0,9)
        ในขณะที่ y == temp [0] หรือ y == temp [2]:
            y = random.randint (0,9)
        temp.append (y) # ผนวกตัวเลขที่ไม่ซ้ำกันอื่น ๆ และตัวเลขที่ไม่ซ้ำกันก่อนหน้านี้
        temp.append (x)
    อื่น: #Put แตะคู่ที่สิ้นสุด
        temp = [] #working array  
        temp.append (random.randint (0,9)) #append เลขสุ่ม
        # ในขณะที่ไม่ซ้ำกันลองอีกครั้ง
        x = random.randint (0,9)
        ในขณะที่ x == temp [0]:
            x = random.randint (0,9)
        temp.append (x) # ผนวกตัวเลขที่ไม่ซ้ำอื่น ๆ
        temp.append (temp [0]) # ผนวกตัวเลข 0th เดิมอีกครั้ง
        y = random.randint (0,9)
        ในขณะที่ y == temp [0] หรือ y == temp [1]:
            y = random.randint (0,9)
        temp.append (y) # ผนวกตัวเลขที่ไม่ซ้ำกันอีกสองครั้ง
        temp.append (y)
    tempstr = ""
    สำหรับฉันในอุณหภูมิ:
        tempstr + = str (i)
    พิมพ์ชั่วคราว
นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ!
randomไม่ได้หมายความอย่างสม่ำเสมอดังนั้น