Introdução
A teoria dos números está cheia de maravilhas, na forma de conexões inesperadas. Aqui está um deles.
Dois inteiros são co-prime se eles não têm fatores em comum que não seja 1. Dado um número N , considere todos os inteiros de 1 a N . Desenhe dois números inteiros aleatoriamente (todos os números inteiros têm a mesma probabilidade de serem selecionados a cada sorteio; os sorteios são independentes e com substituição). Vamos p denotar a probabilidade de que os dois números inteiros selecionados sejam co-primos. Então p tende a 6 / π 2 ≈ 0,6079 ... como N tende ao infinito.
O desafio
O objectivo deste desafio é calcular p como uma função de N .
Como exemplo, considere N = 4. Existem 16 pares possíveis obtidos dos números inteiros 1,2,3,4. 11 desses pares são co-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). Assim, p é 11/16 = 0,6875 para N = 4.
O valor exato de p precisa ser calculado com pelo menos quatro casas decimais. Isso implica que o cálculo deve ser determinístico (em oposição a Monte Carlo). Mas não precisa ser uma enumeração direta de todos os pares como acima; qualquer método pode ser usado.
Argumentos de função ou stdin / stdout podem ser usados. Se exibir a saída, zeros à direita podem ser omitidos. Por exemplo, 0.6300
pode ser exibido como 0.63
. Ele deve ser exibido como um número decimal, não como uma fração (exibir a sequência 63/100
não é permitido).
O critério de vitória é o menor número de bytes. Não há restrições no uso de funções internas.
Casos de teste
Entrada / saída (apenas quatro casas decimais são obrigatórias, como indicado acima):
1 / 1.000000000000000
2 / 0.750000000000000
4 / 0.687500000000000
10 / 0.630000000000000
100 / 0.608700000000000
1000 / 0.608383000000000