introduzione
La teoria dei numeri è piena di meraviglie, sotto forma di connessioni inaspettate. Eccone uno.
Due interi sono co-prime se non hanno fattori in comune diverso da 1. Dato un numero N , prendere in considerazione tutti i numeri interi da 1 a N . Disegna due di questi numeri interi a caso (tutti i numeri interi hanno la stessa probabilità di essere selezionati ad ogni sorteggio; i sorteggi sono indipendenti e con sostituzione). Let p denota la probabilità che i due numeri interi selezionati siano primi di primo grado. Quindi p tende a 6 / π 2 ≈ 0,6079 ... come N tende all'infinito.
La sfida
Lo scopo di questa sfida è quello di calcolare p in funzione di N .
Ad esempio, si consideri N = 4. Esistono 16 coppie possibili ottenute dagli interi 1,2,3,4. 11 di queste coppie sono co-prime, ovvero (1,1), (1,2), (1,3), (1,4), (2,1), (3,1), (4,1 ), (2,3), (3,2), (3,4), (4,3). Quindi p è 11/16 = 0.6875 per N = 4.
Il valore esatto di p deve essere calcolato con almeno quattro decimali. Ciò implica che il calcolo deve essere deterministico (al contrario di Monte Carlo). Ma non è necessario che sia un elenco diretto di tutte le coppie come sopra; qualsiasi metodo può essere utilizzato.
È possibile utilizzare argomenti di funzione o stdin / stdout. Se si visualizza l'output, gli zeri finali possono essere omessi. Quindi ad esempio 0.6300
può essere visualizzato come 0.63
. Dovrebbe essere visualizzato come un numero decimale, non come una frazione (la visualizzazione della stringa 63/100
non è consentita).
Il criterio vincente è il minor numero di byte. Non ci sono restrizioni sull'uso delle funzioni integrate.
Casi test
Input / output (sono obbligatori solo quattro decimali, come indicato sopra):
1 / 1.000000000000000
2 / 0.750000000000000
4 / 0.687500000000000
10 / 0.630000000000000
100 / 0.608700000000000
1000 / 0.608383000000000