Emirp є непаліндромним прем'єром , який при зворотному, також прем'єр.
Список базових 10 емірів можна знайти на OEIS . Перші шість:
13, 17, 31, 37, 71, 73
Однак, завдяки правилу розвороту, еміри відрізняються в кожній основі. Наприклад, перші шість бінарних емірів:
Bin | 1011, 1101, 10111, 11101, 101001, 100101
Dec | (11 , 13 , 23 , 29 , 37 , 41 )
... а в шістнадцятковій формі вони:
Hex | 17, 1F, 35, 3B, 3D, 53
Dec | (23, 31, 53, 59, 61, 83)
Факт забави: в одинарних немає емір, оскільки кожне число є паліндром.
Змагання
Ваше завдання - створити функцію (або повну програму), яка приймає два параметри, і , і генерує список перших емір в базі .
Правила / подробиці:
- b 0 і - цілі натуральні числа, що перевищують .
- Можна припустити, що : тобто база буде знаходитись між двійковим та шістнадцятковим.
- Ви повинні мати можливість обчислити значення до 100 .
- Створений список може бути в базі або стандартній цілій базі вашої мови, якщо ви вказали це у своїй відповіді.
- Вбудовані перевірки emirp не дозволяються (вбудовані тести на первинність прекрасні)
- Ви не можете жорстко кодувати emirps або читати з будь-яких зовнішніх файлів.
- Стандартні лазівки, як завжди, заборонені.
- Це код-гольф , тому найкоротша відповідь (у байтах) виграє.
Випробування
Для кожного тестового випадку я включив список у базу b
та її 10 еквівалентів.
B = 2, N = 10
BIN: [1011, 1101, 10111, 11101, 100101, 101001, 101011, 101111, 110101, 111101]
DEC: [11, 13, 23, 29, 37, 41, 43, 47, 53, 61]
B = 3, N = 5
BASE3: [12, 21, 102, 201, 1011]
DEC: [5, 7, 11, 19, 31]
B = 12, N = 7
BASE12: [15, 51, 57, 5B, 75, B5, 107]
DEC: [17, 61, 67, 71, 89, 137, 151]
B = 16, N = 4
HEX: [17, 1F, 35, 3B]
DEC: [23, 31, 53, 59]
Ви можете протестувати свою програму додатково на моєму (непільгованому) прикладі Python на repl.it