Introducción
La teoría de números está llena de maravillas, en forma de conexiones inesperadas. Aquí hay uno de ellos.
Dos enteros son co-prime si no tienen factores en común distinto de 1. Dado un número N , tenga en cuenta todos los números enteros de 1 a N . Dibuje dos de estos enteros al azar (todos los enteros tienen la misma probabilidad de ser seleccionados en cada sorteo; los sorteos son independientes y con reemplazo). Supongamos que p denota la probabilidad de que los dos enteros seleccionados sean coprimos. Entonces p tiende a 6 / π 2 ≈ 0.6079 ... como N tiende a infinito.
El reto
El propósito de este reto es calcular p como una función de N .
Como ejemplo, considere N = 4. Hay 16 pares posibles obtenidos de los enteros 1,2,3,4. 11 de esos pares son primos, a saber (1,1), (1,2), (1,3), (1,4), (2,1), (3,1), (4,1 ), (2,3), (3,2), (3,4), (4,3). Por lo tanto, p es 16/11 = 0.6875 para N = 4.
El valor exacto de p debe calcularse con al menos cuatro decimales. Esto implica que el cálculo tiene que ser determinista (a diferencia de Monte Carlo). Pero no es necesario que sea una enumeración directa de todos los pares como se indicó anteriormente; Se puede utilizar cualquier método.
Se pueden usar argumentos de función o stdin / stdout. Si se muestra la salida, se pueden omitir los ceros finales. Entonces, por ejemplo, 0.6300
se puede mostrar como 0.63
. Debe mostrarse como un número decimal, no como una fracción ( 63/100
no se permite mostrar la cadena ).
El criterio ganador es la menor cantidad de bytes. No hay restricciones en el uso de funciones integradas.
Casos de prueba
Entrada / salida (solo cuatro decimales son obligatorios, como se indicó anteriormente):
1 / 1.000000000000000
2 / 0.750000000000000
4 / 0.687500000000000
10 / 0.630000000000000
100 / 0.608700000000000
1000 / 0.608383000000000