Нещодавно я прочитав роман «Самотність простих чисел », де головних героїв дещо порівнюють із двояковими простими числами (« завжди разом, але ніколи не торкаючись »).
Твін просте просте число , що або 2 менше або більше , ніж 2 іншого простого числа -для наприклад, подвійний прайм пари (41, 43). Іншими словами, близнюк-близнюк - це прайм, який має проміжний розрив у два. Іноді термін twin prime використовується для пари близнюків; альтернативна назва для цього - прем'єр-близнюк або прем'єр-пара. Вікіпедія
Хоча мені не дуже сподобався депресивний роман, і оскільки я останнім часом потрапив до PPCG, це викликало питання в моїй свідомості ...
Завдання:
Давши додатне ціле число N> 4, знайдіть самотні прості числа ( відокремлені AKA простими числами ) між найближчими парами близнюків .
Зверніть увагу, що в цьому випадку під терміном одинокі прості числа я маю на увазі всі прості числа, які не є близнюками, а між парами близнюків . Тому N> 4, тому що перші дві пари простих чисел (3, 5) і (5, 7).
Приклад:
- N = 90.
- Знайдіть перші дві пари близнюків <N і> N. Вони: (71, 73) і (101, 103).
- Знайдіть самотні прайми в діапазоні> 73 та <101.
- Вони: 79, 83, 89, 97.
Особливі випадки:
- Якщо N знаходиться між двома простими числами-близнюками, знайдіть найближчі пари парних простих чисел> N + 1 і <N-1. Приклад: N = 72, знайдіть найближчі пари близнюків-близнюків> 73 і <71, а потім виключіть зі списку 71 і 73, оскільки вони не є самотніми праймерами . Отже для N = 72 очікуваний результат дорівнює: 67,
71,73, 79, 83, 89, 97 - Якщо N належить до пари близнюків-близнюків, наприклад N = 73, найближчими парами близнюків-близнюків є (71, 73) і (101, 103). Якщо N = 71, найближчими парами близнюків є (59, 61) і (71, 73).
Тестові приклади:
N = 70 > Lonely primes are: 67
N = 71 > Lonely primes are: 67
N = 72 > Lonely primes are: 67, 79, 83, 89, 97 (not the twins 71 and 73)
N = 73 > Lonely primes are: 79, 83, 89, 97
N = 90 > Lonely primes are: 79, 83, 89, 97
N = 201 > Lonely primes are: 211, 223
N = 499 > Lonely primes are: 467, 479, 487, 491, 499, 503, 509
Правила:
- Напишіть повну програму або функцію, яка буде приймати число N зі стандартного введення.
- Виведіть список одиноких прайменів у читаному форматі у вигляді CSV, списку, масиву тощо.
- Найкоротший код виграє.
- Будь ласка, включіть (коли це можливо) тестувальну онлайн-скрипку.