lunes, 25 de junio de 2012

Coprime numbers

Given two random numbers from the interval [1,n], what is the probability of both numbers being coprimes when n→∞?

My intuition was telling me that the probability should be approaching 0, but it was completely wrong as it seems to converge to some value around 0.608!

Given the two integers a and b, they are not coprimes if they are both  divisible by two or if some of them is not divisible by two but they are both divisible by three or if some of them is not divisible by two, neither by three but they are both divisible by five and so on.

Numerically, the probability of being divisible both by two is p2 = (1/2)2; the probability of otherwise being divisible by three is p3 = (1 - p2)/(1/3)2; the probability of otherwise being divisible by five is p5 = (1 - p2 - p3)/(1/5)2; and so on.

The probability of the two numbers being coprime is q = 1 - p2 - p3 - p5 - p7 - ...

My maths are two rusty to be able to demonstrate that this series converges. But calculating its value for the list of first prime numbers available from Wikipedia seems to indicate that it does so towards 0.6080...



#!/usr/bin/perl

use strict;
use warnings;

my @p = (2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53,
         59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113,
         127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181,
         191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251,
         257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317,
         331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397,
         401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463,
         467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557,
         563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619,
         631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701,
         709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787,
         797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863,
         877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953,
         967, 971, 977, 983, 991, 997);

my $p = 1;
for (@p) {
    $p -= $p/($_*$_);
    print "$p\n";
}

No hay comentarios:

Publicar un comentario