Red de conocimiento del abogados - Ley de patentes - Estructura de datos para resolver el problema del anillo de números primos (versión JAVA): tome N números naturales (1 ~ N) para que la suma de cada dos números adyacentes sea un número primo, ¡formando un anillo de números primos!

Estructura de datos para resolver el problema del anillo de números primos (versión JAVA): tome N números naturales (1 ~ N) para que la suma de cada dos números adyacentes sea un número primo, ¡formando un anillo de números primos!

Mmmm. Piénsalo.

Esto comienza con cada número natural como punto de partida y comienza a recorrer, y los resultados se repetirán.

Por ejemplo (1,?2,?3,?4,?7,?10,?9,?8,?5,?6) (6,?1,?2,?3 ,?4,?7,?10,?9,?8,?5)importar java.util.ArrayList;

importar java.util.List;

clase pública PrimeRing {

// Encuentra el anillo de números primos del 1 al n

public PrimeRing(int n) {

List src = new ArrayList< Entero>();

Lista destino = new ArrayList();

for (int i = 1; i <= n; i++) {

src.add(i);

}

bucle(src, dest, n);

}

bucle vacío público (List src, List dest, int n) {

if (dest.size() == n) {

Inicio entero = dest.get(0 );

Entero fin = dest.get(dest.size() - 1);

if (isPrime(inicio + fin)) {

Sistema .out.println(dest);

}

retorno;

}

para (int i = 0; i < src .size(); i++) {

Elemento entero = src.remove(i);

if (dest.isEmpty()) {

destino agregar(elemento);

} else {

Entero tmp = dest.get(dest.size() - 1);

if (isPrime(tmp + elemento)) {

dest.add(elemento);

} else {

src.add(i, elemento);

continuar;

}

}

loop(src, dest, n);

src. agregar(yo, elemento)

;

dest.remove(dest.size() - 1);

}

}

// Determinar si k es Número primo

public boolean isPrime(int k) {

if (k == 2)

devuelve verdadero;

if ( k < 2 || k > 2 && k % 2 == 0)

return false;

int j = (int) Math.sqrt(k); sqrt (k) Devuelve el valor de la raíz cuadrada de k

if (j % 2 == 0)

j-- // Obtiene el número impar más grande en el rango de prueba

while (j > 2 && k % j != 0)

j -= 2;

return j < 2;

}

public static void main(String args[]) {

new PrimeRing(10);

}

}