Cos'è una Prime Square?
Un quadrato primo è un quadrato in cui tutti e quattro i bordi sono numeri primi diversi.
Ma quali?
E come li costruiamo?
Ecco un esempio di un Prime Square 4x4
1009
0 0
3 0
1021
Innanzitutto partiamo dall'angolo in alto a sinistra. Stiamo lavorando in senso orario .
Selezioniamo il numero primo più piccolo con 4cifre pari a 1009 .
Quindi abbiamo bisogno del numero primo più piccolo con 4cifre, che inizia con a 9. Questo è 9001
Il terzo numero primo (a 4 cifre) deve avere 1come ultima cifra (poiché 9001 termina con 1)
e deve anche essere il numero primo a 4 cifre più piccolo con questa proprietà che non è mai stata utilizzata prima come bordo .
Questo numero primo è 1021
Il quarto numero primo deve contenere 4cifre, iniziare con un 1(perché 1009 inizia con a 1) e terminare con un 1(perché 1021 inizia con a 1)
Il numero primo di 4 cifre più piccolo con questa proprietà che non è mai stato usato prima come bordo è 1031
Il tuo compito
Ti verrà dato un numero intero nda 3 to 100
Questo numero corrisponde alle dimensioni del n x nquadrato
Quindi devi generare questo quadrato esattamente nella forma dei seguenti casi di test
Casi test
n=3
Output
101
3 0
113
n=5
Output
10007
0 0
0 0
9 0
10061
n=7
Output
1000003
0 0
0 0
0 0
0 0
8 1
1000037
n=10
Output
1000000007
0 0
0 0
0 0
0 0
0 0
0 0
1 0
8 0
1000000021
n=20
Output
10000000000000000051
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
9 8
10000000000000000097
- Input e output possono essere forniti con qualsiasi metodo conveniente .
- È possibile stamparlo su STDOUT o restituirlo come risultato di una funzione.
- È accettabile un programma completo o una funzione.
- Qualsiasi quantità di spazio bianco estraneo è accettabile, purché i numeri siano allineati in modo appropriato
- Sono vietate le scappatoie standard .
- Si tratta di code-golf quindi si applicano tutte le normali regole del golf e vince il codice più breve (in byte).
EDIT
Questo è possibile per tutti n
Ecco i numeri primi pern=100
1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000289
9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091
1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000711
1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002191
E per quelli di voi che non pensate che questo sia possibile ecco TUTTI i casi di test
n: P? Non è un problema con la sfida, solo curioso.
n: per n= 1, non possiamo soddisfare il vincolo che i quattro bordi sono numeri primi diversi, mentre per n= 2, siamo costretti a scegliere 11,13,23, a quel punto il bordo finale è 12 che è composito. Non ho la prova che sia possibile per tutti n> 2, ma sarei scioccato di imparare diversamente: informalmente, più cifre ci sono, più "spazio di manovra" c'è per soddisfare i vincoli.
nci sono almeno due numeri primi di lunghezza che niniziano con 1 e terminano con ciascuna di quelle cifre (quindi possiamo scegliere un bordo inferiore) e ci sono almeno tre numeri primi che iniziano con 1 e terminano con 1 (quindi possiamo scegliere un bordo sinistro).