¿Qué es un primer cuadrado?
Un primer cuadrado es un cuadrado donde los cuatro bordes son números primos diferentes.
Pero cuales?
¿Y cómo los construimos?
Aquí hay un ejemplo de un 4x4 Prime Square
1009
0 0
3 0
1021
Primero comenzamos desde la esquina superior izquierda. Estamos trabajando en sentido horario .
Elegimos el número primo más pequeño que tiene 4
dígitos, que es 1009 .
Luego, necesitamos que el número primo más pequeño tenga 4
dígitos, que comienza con a 9
. Esto es 9001
El tercer número primo (4 dígitos) debe tener 1
como último dígito (porque 9001 termina con 1
)
y también debe ser el primo más pequeño de 4 dígitos con esta propiedad que no se haya usado antes como borde .
Este numero primo es 1021
El cuarto número primo debe tener 4
dígitos, comenzar con a 1
(porque 1009 comienza con a 1
) y terminar con a 1
(porque 1021 comienza con a 1
)
El número primo más pequeño de 4 dígitos con esta propiedad que no se ha utilizado antes como borde es 1031
Tu tarea
Se le dará un número entero n
de 3 to 100
Este número serán las dimensiones del n x n
cuadrado.
Luego debe generar este cuadrado exactamente en la forma de los siguientes casos de prueba
Casos de prueba
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
- La entrada y salida se pueden dar por cualquier método conveniente .
- Puede imprimirlo en STDOUT o devolverlo como resultado de una función.
- Un programa completo o una función son aceptables.
- Cualquier cantidad de espacio en blanco extraño es aceptable, siempre que los números se alineen adecuadamente
- Las lagunas estándar están prohibidas.
- Este es el código de golf, por lo que se aplican todas las reglas habituales de golf, y gana el código más corto (en bytes).
EDITAR
Esto es posible para todos n
Aquí están los primos paran=100
1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000289
9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091
1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000711
1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002191
Y para aquellos de ustedes que no creen que esto sea posible, aquí están TODOS los casos de prueba
n
: P? No es un problema con el desafío, solo curiosidad.
n
: para n
= 1, no podemos satisfacer la restricción de que los cuatro bordes son primos diferentes, mientras que para n
= 2, nos vemos obligados a elegir 11,13,23, en cuyo punto el borde final es 12 que es compuesto. No tengo una prueba de que sea posible para todos n
> 2, pero me sorprendería saber lo contrario: informalmente, cuantos más dígitos haya, más "margen de maniobra" habrá para satisfacer las restricciones.
n
hay al menos dos números primos de longitud que n
comienzan con 1 y terminan con cada uno de esos dígitos (por lo tanto, podemos elegir un borde inferior) y hay al menos tres números primos que comienzan con 1 y terminan con 1 (por lo tanto, podemos elegir un borde izquierdo).