Puntos visibles en la cuadrícula de un plano

La cuadrícula entera de lado n, Cₙ, es el conjunto de los puntos (x,y) donde x e y son números enteros tales que 1 ≤ x, y ≤ n.

Un punto (x,y) de Cₙ es visible desde el origen si el máximo común divisor de x e y es 1. Por ejemplo, el punto (4,6) no es visible porque está ocultado por el (2,3); en cambio, el (2,3) sí es visible.

El conjunto de los puntos visibles en la cuadrícula entera de lado 6 son (1,1), (1,2), (1,3), (1,4), (1,5), (1,6), (2,1), (2,3), (2,5), (3,1), (3,2), (3,4), (3,5), (4,1), (4,3), (4,5), (5,1), (5,2), (5,3), (5,4), (5,6), (6,1) y (6,5).

Definir la función

tal que (nVisibles n) es el número de los puntos visibles en la cuadrícula de lado n.Por ejemplo,

Soluciones

Referencias

2 Comentarios

  1. No se me ocurre nada más «rápido» (para n=100.000 toma casi 10 minutos!) que restar los puntos internos de todas las diagonales, por lo que el algoritmo es O(n^2) pues el nº de diagonales se aproxima a 3n^2/Pi (https://en.wikipedia.org/wiki/Farey_sequence#Next_term).

Leave a Reply to josejuanCancel reply