Kiedyś myślałem,że przy szukaniu liczby pierwszej należy posługiwać się wszystkimi liczbami nieparzystymi oprócz tych,które kończą się na 5.
Trochę pokombinowałem i nastała wreszcie nadzieja. Można omijać liczby nieparzyste tylko w określonych miejscach. Miejsca te wyznaczają liczby,których suma wszystkich cyfr nie jest równa 3|6|9. np. liczba 12 591 suma cyfr to:18 1+8=9 Ta liczba nie jest liczbą pierwszą. Takie liczenie sumy cyfr istnieje w numerologi i tutaj właśnie takie coś zastosowałem.
Prawie taką samą regułę zastosowałem do sprawdzenia jaką ostatnią cyfrę będzie mieć liczba np. 2^126753 -5 czyli (ostatnia 8-5=3) nie wiem jaki wzór istnieje w matematyce na policzenie tego, ale ja to robię właśnie inaczej i pewnie łatwiej :) Przypadkowo jeszcze odkryłem jaką sumę cyfr będzie mieć ta liczba. (2-5=7) To sugeruje,że ta liczba może być liczbą pierwszą.
Do obliczenia dowolnej liczby nieparzystej,która może być liczbą pierwszą stosuję takie wzory:
n - taki wyznacznik dla pewnego zbioru liczb (zb)
zb - zbiór ośmiu liczb pierwszych [11,13,17,19,23,29,31,37] n = od 1 do 8 i wyznacza,którą liczbę pobrać ze zbioru zb
dla n=1 zb=11 dla n=5 zb=23
Najpierw oblicza się n:
n=l-(8*[l/8]) dla n=0->n=8
Potem Liczbę Nieparzystą:
l2=((l-n)/8)*30+zb(n) l-dowolna liczba np. dla l=1000--> l2=3757
Uproszczenie: l2=[l/8]*30+zb(n) dla l=1 l2=11 dla l=2 l2=13 itd.
Kwadratowe nawiasy oznaczają,że dzielimy bez reszty.
Takie rozwiązanie oznacza,że nie trzeba deklarować sporego miejsca na tablicę jak to ma miejsce w sicie,bo jest ona dostępna od razu, a wielkie nieparzyste liczby generować można prawie natychmiast bez konieczności użycia pętli.
W wolnych chwilach ciągle przy tym dłubię i może kiedyś coś jeszcze wymyślę.