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.

27 de mayo de 2019 · Carlos J. Gil Bellosta