W przeszłości podejmowano wiele prób podania ogólnego wzoru pozwalającego na znajdywanie liczb pierwszych. Takimi wzorami są np.:
- tzw. liczby Fermata:
\(\displaystyle{ (2)^{2^{n}}+1}\), ale ten wzór jest dość ubogi bo już dla
\(\displaystyle{ n=5}\) wartość wyrażenia nie jest liczbą pierwszą
- wzór Mersenne'a:
\(\displaystyle{ 2^{p}-1\,\wedge\,p\in{P}}\), ale już dla
\(\displaystyle{ p=11}\) nie jest to liczba pierwsza
-
\(\displaystyle{ n^{2}-n+41}\) (ten wzór już podał dem) dla
\(\displaystyle{ n=1,2,...,40}\)
-
\(\displaystyle{ n^2-79n+1601}\) dla
\(\displaystyle{ n=1,2,...79}\)
Ostatecznie jednak nie znaleziono wzoru, który określałby tylko liczby pierwsze
Co do sita Eratostenesa to jest to metoda pozwalająca na znajdowanie wszystkich liczb pierwszych nie większych od pewnej ustalonej liczby naturalnej n. W skrócie polega to na wypisaniu sobie wszystkich liczb naturalnych od 2 do n (1 nie jest liczbą pierwszą), a następnie postępowaniu według zasady: pierwszą liczbę zostawiamy, a wszystkie jej wielokrotności wykreślamy, bierzemy następną i znowu wykreślamy wielokrotności (niektóre liczby skreślimy wiele razy). Po skończeniu powyższej czynności otrzymamy wszystkie liczby pierwsze nie większe od n
Algorytm Euklidesa jest metodą pozwalającą na wyznaczanie NWD (Największego Wspólnego Dzielnika) dwóch liczb. Zasada działania polega na wielokrotnym porównywaniu tych liczb i za każdym razem od większej odejmujemy mniejszą. Kiedy w końcu uzyskane liczby będą sobie równe to będą one wówczas równe NWD początkowych liczb. Bardzo ładnie można sobie taki algrotym na komputerze zaprogramować (np. graficznie w jakimś programie edukacyjnym).
Liczby pierwsze są przydatne w kryptografii, głównie do tworzenia skomplikowanych szyfrów opartych na algorytmach jednostronnych, czyli po ludzku takich, które cholernie ciężko rozpracować "od kuchni". A dlatego używa się liczb pierwszych, bo mają one specyficzne właściwości, np. jak pomnożysz przez siebie
jakieś dwie liczby to otrzymany wynik można będzie rozłożyć na tysiąc jeden sposobów na dwa czynniki, a jak użyjesz dwóch liczb
pierwszych to będzie istniał tylko jeden rozkład na dwa czynniki różne od 1 i od tej liczby

co pozwoli na jednoznaczne szyfrowanie. Zresztą chyba łatwo sobie wyobrazić, że jeśli stworzymy klucz szyfrujący przemnażając dwie ogromniaste liczby pierwsze (no może nie takie ogromniaste - wystarczy gdzieś tak kilkadziesiąt-kilkaset cyfr

) to żeby osoba nie znająca tego klucza (znaczy tych dwóch liczb) mogła odczytać zakodowaną wiadomość, musiałaby rozłożyć tą wielgaśną liczbę, którą otrzymaliśmy przez przemnożenie naszych dwóch liczb pierwszych (jest to tzw. klucz publiczny), na czynniki co jest niemalże niewykonalne.
Na przykłady kodów chyba nietrudno wpaść. Weźmy chociażby zwykły kod kreskowy, albo troszkę bardziej wyrafinowane - szyfrowanie transmisji internetowych czy rozmów telefonicznych.