Zbiory zawierające liczby pierwsze

Podzielność. Reszty z dzielenia. Kongruencje. Systemy pozycyjne. Równania diofantyczne. Liczby pierwsze i względnie pierwsze. NWW i NWD.
ksetlak
Użytkownik
Użytkownik
Posty: 37
Rejestracja: 23 sty 2024, o 17:00
Płeć: Mężczyzna
wiek: 40
Podziękował: 8 razy

Zbiory zawierające liczby pierwsze

Post autor: ksetlak »

Raz na kilka miesięcy lubię w Excelu pobawić się liczbami pierwszymi. Kiedyś znalazłem sposób na przyspieszenie algorytmu Fermata (sprawdzony za pomocą skryptu PHP, działa). Dzisiaj chciałbym tylko pokazać 3 zbiory, które cieszą moje oczy po tygodniu zabawy :)

Najpierw definiuję zakres (np. 100, 1100 albo 2100), potem liczę, a na końcu po posortowaniu i ręcznym sprawdzeniu pierwszości mam coś takiego:

https://ksetlak.pl/matematyka/20250330%20odkrycie%20wersja%20publikuj.pdf

W trzecim zbiorze nie chciało mi się sprawdzać 2063 elementów, dlatego sprawdziłem jedynie początkowe i końcowe.

Spodziewam się, że w większych przedziałach będzie więcej "czerwonych" liczb na końcu danego zbioru, więc użyteczność tych zbiorów może być średnia, ale i tak ładnie to wygląda w porównaniu ze zbiorami, które generowałem wcześniej :)

Dodano po 20 godzinach 4 minutach 17 sekundach:
Napisałem skrypt w PHP robiący test pierwszości dla liczb z wklejonej listy 2063 elementów

https://ksetlak.pl/matematyka/test-pierwszosci.php

Nie jestem najlepszy w programowanie i musiałem kombinować, ale udało się. Trzeba było przekształcić mój zbiór na poniższy, odejmując 1 w Excelu.
Ukryta treść:    
Podsumowując, w trzecim zbiorze jest 1217 liczb pierwszych, prawie 59% z 2063.

Sposób na tworzenie tych zbiorów jest fajny, bo wykorzystuje mój ulubiony ciąg liczb pierwszych (\(\displaystyle{ 3,5,7,11,13,17...}\)) oraz wielokrotności liczby 2 (\(\displaystyle{ 2,4,8,16,32,64...}\)). Bardzo dużo jest w środku rozwiązań, które optymalizują skuteczność. Taki zgrabny sposób, bez udziwnień.
Ostatnio zmieniony 31 mar 2025, o 22:41 przez Jan Kraszewski, łącznie zmieniany 2 razy.
Powód: Poprawa wiadomości.
ksetlak
Użytkownik
Użytkownik
Posty: 37
Rejestracja: 23 sty 2024, o 17:00
Płeć: Mężczyzna
wiek: 40
Podziękował: 8 razy

Re: Zbiory zawierające liczby pierwsze

Post autor: ksetlak »

Znowu bawię się w generowanie zbiorów zawierających jak najwięcej liczb pierwszych :)

Tu idea jest taka, że znając jedną liczbę pierwszą ("żółtą"), można z dużym prawdopodobieństwem znaleźć inną liczbę pierwszą ("niebieską") lub z mniejszym prawdopodobieństwem - złożoną ("czerwoną").

Pobawię się parametrami. Może uda się uzyskać jeszcze mniej "czerwonych" :)
Zrzut ekranu z 2025-10-20 00-25-09.png
ksetlak
Użytkownik
Użytkownik
Posty: 37
Rejestracja: 23 sty 2024, o 17:00
Płeć: Mężczyzna
wiek: 40
Podziękował: 8 razy

Re: Zbiory zawierające liczby pierwsze

Post autor: ksetlak »

To jest coś, czym warto się zainteresować, tylko muszę napisać skrypt PHP, żeby nie liczyć ręcznie :)

Znając jedynie 35 pierwszych liczb pierwszych, można z dużym prawdopodobieństwem wskazać 44413798987295791 jako potencjalną liczbę pierwszą (którą jest).

Istotą pomysłu jest ukryty (ale prawdziwy) efekt sita Erastostenesa - im więcej "wykreślonych" wielokrotności liczb pierwszych, tym większe prawdopodobieństwo, że dana liczba jest pierwsza.


liczby-pierwsze.png
liczby-pierwsze.png (159.61 KiB) Przejrzano 4907 razy
Brombal
Użytkownik
Użytkownik
Posty: 592
Rejestracja: 1 gru 2015, o 21:49
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 7 razy
Pomógł: 46 razy

Re: Zbiory zawierające liczby pierwsze

Post autor: Brombal »

Prawdopodobieństwo, że liczba \(\displaystyle{ 44413798987295791}\) nie jest podzielona przez żadną z \(\displaystyle{ 35}\) liczb pierwszych wynosi \(\displaystyle{ 11,2}\)%. Czyli odsiewasz niewiele liczb. To samo dotyczy liczby \(\displaystyle{ 44413798987295793}\)
ksetlak
Użytkownik
Użytkownik
Posty: 37
Rejestracja: 23 sty 2024, o 17:00
Płeć: Mężczyzna
wiek: 40
Podziękował: 8 razy

Re: Zbiory zawierające liczby pierwsze

Post autor: ksetlak »

Powiedzmy, że celujemy w liczbę mającą w zapisie dziesiętnym milion cyfr. Załóżmy, że aby ją uzyskać, trzeba wziąć tysiąc pierwszych liczb pierwszych. Mamy wtedy pewność, że dana liczba nie jest podzielna przez ten tysiąc liczb, ale oczywiście może być podzielna przez wszystkie inne liczby pierwsze z zakresu do pierwiastka z liczby milioncyfrowej (a więc może być liczbą złożoną).

Sprawdzenie pierwszości takiej milioncyfrowej liczby to inny temat, ale problemem jest niestety samo wyliczenie tej liczby, bo w grę wchodzi faktoryzacja algorytmem Fermata. Co prawda ze względu na ilość dzielników taka faktoryzacja ma szansę, ale i tak potrzeba dużo szczęścia.

Połączenie dwóch idei z dwóch powyższych grafik mogłoby pomóc, bo chodzi nam tylko o wielkość (milion cyfr), a nie ścisłe trzymanie się idei z drugiej grafiki.
Brombal
Użytkownik
Użytkownik
Posty: 592
Rejestracja: 1 gru 2015, o 21:49
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 7 razy
Pomógł: 46 razy

Re: Zbiory zawierające liczby pierwsze

Post autor: Brombal »

Proponuję rzucić okiem tu

https://www.youtube.com/watch?v=8dA7sxU9A_I&list=PLcpeHdsKzwONVwFu7_PEVhPoSUxazN1KO&index=1

Być może Cię zainteresuje a być może coś zmienisz w swoich obliczeniach.
Ostatnio zmieniony 24 paź 2025, o 11:54 przez Jan Kraszewski, łącznie zmieniany 2 razy.
Powód: Poprawa wiadomości.
ODPOWIEDZ