Числа, які легко запам'ятовувати, але теоретично не легко зробити
Ваше завдання полягає в тому, щоб зробити програму / функцію будь-якою мовою, яка генерує рівномірно випадкові числа, що відповідають цим критеріям:
Довжина - 5 цифр
Є дві окремі повторювані пари
Один набір повторних цифр знаходиться на початку або в кінці, і цифри знаходяться поруч
Непарне число назовні оточене іншою парою цифр
Двозначні пари та інше число повинні бути унікальними
Ваша програма може підтримувати номери з провідними нулями чи ні, на ваш розсуд. Якщо підтримуються провідні нулі, вони повинні бути включені у висновок: 06088, а не 6088. Якщо провідні нулі не підтримуються, то числа, як 06088, взагалі не повинні генеруватися.
Випробування
Прийняті результати:
55373 55494 67611 61633 09033 99757 95944 22808 65622 22161
Не прийняті результати:
55555 77787 85855 12345 99233 12131 abcde 5033
Більш прийнятні тестові випадки можна знайти за цим посиланням .
Вони були зроблені за допомогою цієї програми python:
імпорт випадковим чином для i в діапазоні (100): якщо random.randint (0,100)> = 50: # Введіть пару на початку, якщо це правда temp = [] # робочий масив temp.append (random.randint (0,9)) # додавання випадкової цифри 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) else: # Вставте торкаючись пари наприкінці temp = [] # робочий масив temp.append (random.randint (0,9)) # додавання випадкової цифри #Що не унікальне, спробуйте ще раз x = random.randint (0,9) у той час як x == temp [0]: x = random.randint (0,9) temp.append (x) #додайте ще одну унікальну цифру temp.append (temp [0]) #додайте знову ту ж саму цифру 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) print tempstr
Це код-гольф , тому найкоротша відповідь у байтах виграє!
random
це не означає рівномірно