Liczby półpierwsze

0

Witam, mam do napisania program, który będzie sprawdzał czy dana liczba jest liczba pierwsza i czy dana liczba jest liczba półpierwszą. Problem pojawił się z liczbą półpierwszą, prosiłbym o pomoc w napisaniu tego programu.

0

Jaki konkretnie masz problem?

1

Pomoc w napisaniu programu to pokaż co już masz.

0

Wystarczy że zauważysz pewną prawidłowość.. Liczby półpierwsze po rozkładzie na czynniki pierwsze mają tylko dwa czynniki pierwsze:) Chociaż da się to pewnie zrobić szybciej.

0

Do działu praca to nie instytucja charytatywna my tu pomagamy ale NIE odwalamy za kogoś robotę.

0

Nie chce żeby ktoś robił to za mnie po prostu nie wiem jaki znaleźć na to sposób, robiłem to metodą elminacji:
Sprawdzałem czy wprowadzona liczba jest liczba pierwsza, jeżeli tak to już wiedziałem, że niej jest półpierwszą, kolejnym krokiem było sprawdzenie czy da się ją spierwiastkować całkowicie i czy pierwiastek jest liczbą pierwszą, jeżeli tak to liczba półpierwsza coraz bliżej, kolejnym krokiem było by sprowadzenie do 2 czynników pierwszych, które były by liczbą pierwszą tylko nie wiem jak to w kodzie zapisać.

0

Jaka ma być wielkość liczby wejściowej? Jak np. do 32 bitów to możesz wygenerować wszystkie liczby pierwsze do 16 bitów (np. sitem Eratostenesa). Jeżeli ta liczba nie dzieli się przez te liczby pierwsze, to jest pierwsza. Jak z kolei się dzieli, to sprawdzasz, czy liczba powstała po podzieleniu jest pierwsza. Jeżeli natomiast liczby są większe, to pierwszość możesz sprawdzić Millerem-Rabbinem, liczby półpierwsze będzie trudniej (choć jak wymyślisz jakiś algorytm, który będzie działał dla liczb np. 1024 bitowych, to trochę anarchii w kryptologii nie zaszkodzi ;)).

1 użytkowników online, w tym zalogowanych: 0, gości: 1