• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wyjaśnij mi ktoś krok po kroku jak działa wyznaczanie liczb pierwszych?

Object Storage Arubacloud
0 głosów
642 wizyt
pytanie zadane 17 stycznia 2018 w C i C++ przez Hiskiel Pasjonat (22,830 p.)

Mimo, że wyobraźnię mam bogatą nie potrafię pojąć jak odbywa się wyznaczanie liczb pierwszych. Czy mógłby mi to ktoś wytłumaczyć? Tutaj przykładowy kod z jakiejś strony:

bool czy_pierwsza(int n)
{
  if(n<2)
    return false; //gdy liczba jest mniejsza niż 2 to nie jest pierwszą
 
  for(int i=2;i*i<=n;i++)
    if(n%i==0)
      return false; //gdy znajdziemy dzielnik, to dana liczba nie jest pierwsza
  return true;
}

 

komentarz 29 kwietnia 2020 przez veron_v Obywatel (1,360 p.)
Kod który przedstawiłeś zawiera błąd. Postaraj się go odnaleźć a jeśli nie dasz rady, to powiem Ci gdzie jest :) Pozdrawiam.

2 odpowiedzi

+2 głosów
odpowiedź 17 stycznia 2018 przez Deloryn Bywalec (2,060 p.)
Po prostu sprawdzasz, czy tę liczbę można podzielić przez inną liczbę. Jeśli liczba jest niepodzielna, to jest pierwsza. Zaczynasz podstawiając za dzielnik 2, a kończysz gdy dojdziesz do pierwiastka danej liczby, bo dalej nie trzeba już sprawdzać.
0 głosów
odpowiedź 17 stycznia 2018 przez Jedras Maniak (54,860 p.)
Jest też sito Eratostenesa. Możesz sobie o nim doczytać.
komentarz 18 stycznia 2018 przez Nk_1 Nowicjusz (140 p.)
edycja 20 lutego 2018 przez Nk_1
Jest jeszcze inna metoda sito Małgorzaty pod linkiem: https://1drv.ms/b/s!AsqwpKK-51whhhzzvgOxdib8Y_rW

lub

algorytm opisany pod linkiem: https://1drv.ms/b/s!AsqwpKK-51whhyrXq3rEvKSwC62Q

Ilość interacji algorytmu pierwiastek z liczby dzielony przez trzy.

Pod linkiem :https://1drv.ms/b/s!AsqwpKK-51whhyxst9k9X9-1unaI zamieściłem algorytm Iteracje Kamila. Pokazuje jak iteracyjnie obliczać resztę z liczby. W efekcie daje takie same reszty z dzielenia co algorytm Krystyny i operuje na mniejszych liczbach. W obu algorytmach można zastosować przetwarzanie rozproszone. Z algorytmów widać, że rozkład  liczb złożonych wokół danej liczby nie jest losowy. Stąd też wynika, że i odległości liczb pierwszych też nie są przypadkowe.
komentarz 11 lipca 2019 przez Nk_1 Nowicjusz (140 p.)
Jako ciekawostkę przedstawiam Fraktal Rafała, który można opisać wzorem:
f(y)= n + x * (-1)^{n} + (3*x + 0.5 - 0.5 * (-1)^{x}) * (n + 0.5 - 0.5 * (-1)^{n})
gdzie n > 0 i x >0 oraz x,n należy do liczb naturalnych. Liczba x określa kolejne wystąpienie liczby "złożonej" dla n. Dodatkowo zachodzi zależność jezeli:
x parzyste, n parzyste to f(y) parzyste
x parzyste, n nieparzyste to f(y) nieparzyste
x nieparzyste, n parzyste to f(y) nieparzyste
x nieparzyste, n nieparzyste to f(y) parzyste

Związek liczb złożonych z fraktalem Rafała jest następujący:
f(z)= 3 * f(y) + 1.5 - 0.5 *(-1)^{x+n}
gdzie f(y) funkcja generująca liczby tworzące fraktal Rafał dla wartości x i n.

Jeżeli dla wzoru f(y) wprowadzimy ograniczenie x >= n oraz f(y) <= Ym to otrzymamy sito Małgorzaty w przedziale liczb naturalnych (1,Ym).

Podobne pytania

0 głosów
1 odpowiedź 268 wizyt
0 głosów
0 odpowiedzi 130 wizyt
pytanie zadane 5 kwietnia 2017 w C i C++ przez Jakub 0 Pasjonat (23,120 p.)
0 głosów
1 odpowiedź 344 wizyt
pytanie zadane 26 października 2016 w Java przez qwerty Początkujący (380 p.)

92,568 zapytań

141,424 odpowiedzi

319,629 komentarzy

61,956 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...