1 3 6 19 30 34 2 7 18 31 33 16 9 27 22 14 11 25 24 12 13 23 26 10 15 21 28 8 17 32 4 5 20 29 35
Son los enteros del 1 al 35 ordenados de forma que dos consecutivos en la serie suman un cuadrado perfecto. Los he obtenido así:
library(adagio)
foo <- function(n){
desde <- 1:n
hasta <- 1:n
todos <- expand.grid(desde, hasta)
todos <- todos[todos$Var1 < todos$Var2,]
todos$sqrt <- sqrt(todos$Var1 + todos$Var2)
todos <- todos[todos$sqrt == round(todos$sqrt),]
todos$sqrt <- NULL
vertices <- as.vector(t(todos))
hamiltonian(vertices)
}
foo(35)
Notas:
- Esta entrada está inspirada en algo que he visto en Twitter (pero cuya referencia he olvidado guardar).
- Puedes probar con otros números, aunque no siempre existe un ciclo hamiltoniano.