Bene, il bibliotecario ti ha sorpreso a imbrogliare sul tuo lavoro usando il tuo algoritmo di smistamento , quindi ora sei punito. Ti è stato ordinato di creare un po 'di codice in modo che il bibliotecario possa impressionare l'oggetto del loro affetto non corrisposto, l'insegnante di matematica. Quindi quella cosa "altre funzioni come assegnate" mezzi ...
Tutti hanno familiarità con la sequenza numerica naturale nella base 10, chiamata N :
0, 1, 2, 3, 4, 5, 6, ...
Da ciò, possiamo generare la sequenza di numeri primi, chiamiamola P , in modo che ogni elemento in P abbia esattamente due divisori in N , vale a dire 1
e se stesso. Questa sequenza è:
2, 3, 5, 7, 11, 13, ...
OK, abbastanza routine finora.
Il pensiero bibliotecario di una funzione nifty F (x, y) che richiede un numero x
da N , con la condizione 0 <= x <= 9
, e un numero y
da N , e inserti x
in y
espansione decimale 's in ogni posizione (cioè, anteponendo, l'inserimento o aggiungendo x
in y
), quindi restituisce il set ordinato di nuovi numeri.
Ad esempio, si otterrebbe F (6, 127)
1267, 1276, 1627, 6127
È comunque un po 'noioso. Il bibliotecario vuole ravvivare un po 'di più le cose specificando invece una nuova funzione z -> {p : p in P and F(z,p) subset of P}
, ordinata in ordine crescente.
Ad esempio, z (7) sarebbe
3, 19, 97, 433, 487, 541, ...
perché 37
e 73
sono entrambi primi, 719
179
e 197
sono tutti primi, ecc.
Nota che z (2) è vuoto, perché nessun numero primo che ha un 2
allegato sarà mai primo. Allo stesso modo per {0,4,5,6,8}.
Il tuo compito è scrivere codice che genererà e produrrà i primi 100 numeri nella sequenza z (x) per una data x .
Ingresso
Un singolo intero x tale che 0 <= x <= 9
. L'input può essere tramite argomento della funzione, STDIN o equivalente.
Produzione
Una sequenza dei primi 100 numeri, delimitata dalla tua scelta, su STDOUT o equivalente, in modo tale che la sequenza soddisfi z (x) come descritto sopra. Se z (x) è vuoto, come nel caso di {0,2,4,5,6,8}, le parole Empty Set
dovrebbero invece essere emesse.
restrizioni
- Questo è code-golf, poiché dovrai trascriverlo su una scheda indice in modo che il bibliotecario possa mostrare l'insegnante di matematica e i crampi alle mani facilmente.
- Si applicano le restrizioni standard sulle scappatoie. Il bibliotecario non tollera gli imbroglioni.
Sequenze di riferimento
x = 1: A069246
x = 3: A215419
x = 7: A215420
x = 9: A215421
Correlati: trova il primo fragile più grande / Trova il primo più piccolo da una sottostringa / Trova il primo più grande che è ancora un primo dopo l'eliminazione delle cifre
"
non è necessario, comunque un lavoro molto bello.