[R-es] Ayuda erreficando un código

Carlos J. Gil Bellosta cgb en datanalytics.com
Vie Sep 27 10:12:41 CEST 2013


Hola, ¿qué tal?

No sé si responderá exactamente a tu pregunta, pero hace un tiempo
escribí sobre el problema (de las ¡nueve! reinas) y planteé una
versión alternativa a tu código:

http://www.datanalytics.com/blog/2012/01/23/nueve-reinas-con-sas-y-r-tambien/

Un saludo,

Carlos J. Gil Bellosta
http://www.datanalytics.com

El día 27 de septiembre de 2013 10:05, Rafael Garcia Leiva
<rgarcialeiva en gmail.com> escribió:
> Hola a todos,
>
> Después de presentar ayer en las jornadas de usuarios de R de Madrid el
> problema de las ocho reinas y su solución con R, unas de las críticas que
> recibí es que el código de la solución no iba mucho con el estilo de R. En
> concreto, la función que recibe una lista con la posición de las reinas
> (ejemplo (1,5,2,3,4,6,8,7)) y calcula si se atacan (comparten la misma
> diagonal).
>
> El código es el siguiente:
>
> correcto <- function(p) {
>     n <- length(p)
>     for(i in 1:(n-1)) {
>         for(j in (i+1):n) {
>             if(abs(p[j] - p[i]) == abs(j – i))
>                 return(FALSE)
>             }
>         }
>     return(TRUE)
> }
>
> Si algún alma caritativa de la lista me ayudase a "erreficar" el código le
> quedaría muy agradecido. De hecho, en la reunión de usuarios se comentó que
> seguramente sea posible escribir esta función con una única línea de código
> R.
>
> Muchas gracias a todos
>
> Rafael García
> Twitter: @rgarcialeiva
> Blog: http://mundoalgoritmos.blogspot.com.es/
>
>         [[alternative HTML version deleted]]
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>



Más información sobre la lista de distribución R-help-es