Chciałbym wprowadzić pojęcie gęstości liczb pierwszych. Niech A
n oznacza ilość liczb pierwszych wśród liczb naturalnych 1,2,3,...,n. Zatem :
A1 = 0
A2 = 1
A3 = 2
A4 = 2
A5 = 3
...
Gęstość liczb pierwszych wśród n pierwszych liczb całkowitych jest dana przez stosunek : An / n. Oto algorytm wyznaczania gęstości liczb pierwszych zakodowany w języku PHP
function pt($liczba)
{
$wynik=0;
$g=floor($liczba/2);
$i=2;
if ($liczba<2) return(0);
else
{
while(($wynik==0) & ($i<=$g))
{
if ($liczba%$i==0) ++$wynik;
++$i;
}
}
if ($wynik==0) return(1);
else return(0);
}
function glp($zakres)
{
$prc=0;
$wynik=0;
for ($i=2;$i<=$zakres;++$i)
{
if (pt($i)==1) ++$prc;
}
else {}
}
$wynik=($prc/($zakres-1))*100;
print("W danym przedziale występuje $wynik % liczb pierwszych.");
}
Pierwsza funkcja
pt sprawdza czy dana liczb jest liczbą pierwszą. Jest to funkcja pomocnicza.
Funkcja zwraca wartość 1 jeżeli dana liczba jest liczbą pierwszą.
Natomiast druga funkcja
glp oblicza gęstość liczb pierwszych w danym przedziale [2 ,.. , $zakres] .