Jeżeli tylko tyle potrzebujesz, to tak jak już pisaliśmy najłatwiej sobie zrobić sito segmentowe, na początku można wziąć tylko liczby nieparzyste i lecieć po kawałkach np. 217 i przesiewać gromadząc jednocześnie liczby pierwsze, które w tym przesiewaniu wykorzystujemy, plus liczby reprezentować jako bity w jakimś incie, longu co łącznie eliminuje duże skoki po tablicy i w porównaniu ze zwykłym sitem jest znacznie lepsze, dla danych 1010 przy drobnej optymalizacji działa ok. Możesz też zrobić sito w którym wywalisz sobie wielokrotności liczb 2,3,5,7,11,13,17,19,23,29, im więcej tym lepiej, ale bardziej skomplikowany kod, to samo w segmentowym możesz zastosować.
Co do testów pierwszości to autor chyba chce co innego osiągnąć.
btw zastanawiałem się kiedyś jaką metodę zastosować, żeby wygenerować wszystkie liczby pierwsze do liczby 1015 albo 1016, mam kilka podejść, ale nie są super szybkie, może ktoś słyszał o jakieś fajnej metodzie?