7: Wykorzystanie operacji modulo do wyszukiwania liczb pierwszych.

Na poprzedniej lekcji wykorzystaliśmy operację modulo do rozpoznawania/wyszukiwania liczb parzystych.


Modulo to operacja wyznaczania reszty z dzielenia dwóch wartości.


Operacji modulo można użyć do znajdowania liczb pierwszych – i dzisiaj poszukamy liczb pierwszych z zakresu od 2 do 100.


Liczby pierwsze to liczby naturalne większe od 1, które mają tylko dwa dzielniki: liczbę 1 i samą siebie, a więc 2, 3, 5, 7, 11…
Skrypt weryfikujący cechę pierwszości liczby powinien zatem sprawdzać podzielność wybranej liczby przez 2, a następnie zwiększać dzielnik o 1 i sprawdzać podzielność przez kolejne liczby naturalne dotąd, aż przekroczona zostanie wartość wybranej liczby.


Na początku założymy, że badana liczba jest liczbą pierwszą, a potem będziemy sprawdzać, czy posiada inne dzielniki niż 1 i samą siebie.

Jeżeli znajdziemy dzielnik badanej liczby, który nie będzie ani 1, ani tą liczbą, to uznamy, że badana liczba jednak nie jest liczbą pierwszą.

Będziemy potrzebować specjalnej zmiennej, której wartość będzie odpowiedzią na pytanie, czy badana liczba jest liczbą pierwszą, czy nie jest liczbą pierwszą.

Przyjmijmy zatem, że taką zmienną będzie zmienna t

Jeżeli zmienna t będzie miała wartość 1, to będzie oznaczało, że badana liczba jest liczbą pierwszą;
jeśli jednak t przyjmie wartość 0, to będzie oznaczało, że badana liczba nie jest liczbą pierwszą.


W naszym scratchowym projekcie:

  • Utworzymy listę o nazwie liczby pierwsze.
  • Utworzymy zmienne:
    • liczba – do zapamiętania badanej liczby,
    • dzielnik – do przechowywania potencjalnych dzielników,
    • t  – o specjalnym znaczeniu: jeśli będzie miała wartość 1 – została znaleziona liczba pierwsza; jeśli zbędzie miała wartość 0 – badana liczba jest liczbą złożoną.


Projekt wykonany w czasie lekcji:

Zmienne, które musimy utworzyć
Lista, którą musimy utworzyć
Gotowy skrypt
« »
Insert math as
Block
Inline
Additional settings
Formula color
Text color
#333333
Type math using LaTeX
Preview
\({}\)
Nothing to preview
Insert