Di recente ho letto il romanzo "La solitudine dei numeri primi" in cui i personaggi principali sono in qualche modo confrontati con i numeri primi gemelli (" sempre insieme, ma mai toccanti ").
Un numero primo gemello è un numero primo che è 2 in meno o 2 in più rispetto a un altro numero primo, ad esempio la coppia di numeri primi gemelli (41, 43). In altre parole, un numero primo gemello è un numero primo che ha un divario primo di due. A volte il termine gemello primo è usato per una coppia di numeri primi gemelli; un nome alternativo per questo è primo gemello o prima coppia. Wikipedia
Sebbene il romanzo deprimente non mi piacesse molto e da quando sono caduto nel PPCG ultimamente, questo mi ha fatto sorgere una domanda ...
Compito:
Dato un numero intero positivo N> 4, trova i numeri primi solitari ( numeri primi isolati AKA ) tra le coppie più vicine di numeri primi gemelli .
Si noti che in questo caso con il termine numeri primi solitari , intendo tutti i numeri primi che non sono numeri primi gemelli e tra coppie di numeri primi gemelli . Ecco perché N> 4 perché le prime due coppie di numeri primi sono (3, 5) e (5, 7).
Esempio:
- N = 90.
- Trova le prime due coppie di numeri primi gemelli <N e> N. Sono: (71, 73) e (101, 103).
- Trova i numeri primi solitari nella gamma> 73 e <101.
- Sono: 79, 83, 89, 97.
Casi speciali:
- Se N è compreso tra due numeri primi gemelli, trova le coppie più vicine di numeri primi gemelli> N + 1 e <N-1. Esempio: N = 72, trova le coppie più vicine di numeri primi gemelli> 73 e <71 quindi escludi dall'elenco 71 e 73 perché non sono numeri primi soli . Quindi per N = 72 il risultato atteso è: 67,
71,73, 79, 83, 89, 97 - Se N appartiene a una coppia di numeri primi gemelli, ad esempio N = 73, le coppie più vicine di numeri primi gemelli sono (71, 73) e (101, 103). Se N = 71, le coppie più vicine di numeri primi gemelli sono (59, 61) e (71, 73).
Casi test:
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
Regole:
- Scrivi un programma o una funzione completa che prenderà il numero N dall'input standard.
- Stampa l'elenco di numeri primi solitari in un formato leggibile come csv, list, array, ecc.
- Il codice più corto vince.
- Si prega di includere (quando possibile) un violino online testabile.