background image

 

 

 

 

Algorytmy na liczbach 

Algorytmy na liczbach 

naturalnych

naturalnych

 

 

Faktoryzacja liczby naturalnej – zapis 

Faktoryzacja liczby naturalnej – zapis 

liczby w postaci iloczynu liczb 

liczby w postaci iloczynu liczb 

pierwszych

pierwszych

background image

 

 

 

 

Zapis liczby w postaci iloczynu 

Zapis liczby w postaci iloczynu 

liczb pierwszych

liczb pierwszych

 

 

Liczby pierwsze

 to te liczby naturalne większe od 1, które 

mają tylko dwa dzielniki naturalne: jedynkę i samą siebie 

np.

2, 3, 5, 7, 11,…

         2 = 1  *  
2
         3 = 1  *  
3
         5 = 1  *  
5
         7 = 1  *  
7
      11  = 1 * 
11

background image

 

 

 

 

Zapis liczby w postaci iloczynu 

Zapis liczby w postaci iloczynu 

liczb pierwszych

liczb pierwszych

 

 

Daną liczbę naturalną 

n 

możemy przedstawić w postaci 

iloczynów:

n= p1 * p2 * … * pi          p1<=p2<= … <=pi

gdzie 

p1

 do 

pi

 to kolejne liczby pierwsze 

2, 3, 5, 7

… 

Jeśli znajdziemy liczbę pierwszą, która dzieli liczbę 

n

 bez 

reszty, to znaczy, że 

p

 jest dzielnikiem 

n

1. Liczbę 

n

 dzielimy przez 

dopóty, dopóki wynik będzie 

całkowity 

(

kończymy gdy

 mod p<>0). 

2. Jeśli 

n 

nie dzieli się bez reszty przez 

p

, to zwiększamy 

p 

bierzemy kolejną liczbę naturalną. 

3. Jeśli liczba 

n

 nie jest podzielna przez wszystkie podzielniki 

p < n

, to 

n

 jest liczbą pierwszą. 

np. 24=2 * 2 * 2 * 3

background image

 

 

 

 

Zapis liczby w postaci iloczynu 

Zapis liczby w postaci iloczynu 

liczb pierwszych

liczb pierwszych

 

 

Możemy sformułować następującą własność:

Jeśli 

n

  nie jest liczbą pierwszą, to ma czynnik 

p

 spełniający 

warunek 

p<=       

 . 

Ponadto każda liczba złożona ma w swoim rozkładzie na dwa 
czynniki, co najwyżej jeden czynnik        większy niż
Gdyby liczba złożona miała dwa czynniki większe od     , to 
ich iloczyn byłby większy od 

n

, co oznaczałoby sprzeczność. 

n

n

n

background image

 

 

 

 

Faktoryzacja liczby naturalnej 

Faktoryzacja liczby naturalnej 

-lista kroków

-lista kroków

Specyfikacja

Dane

: 

- liczba naturalna

Wynik

:  

p1, p2,  ..., pi

  dzielniki liczby 

n

Krok1

 

Wczytaj liczbę 

n, p:=2;

Krok2

.  

Jeśli 

n=1

,

 

przejdź do 

kroku 5.

Krok3

. 

Dopóki 

p<n

 wykonuj operacje: 

c:= n div p

r:=n mod p

 oraz wykonuj 

krok 4

Krok4

. 

jeśli 

r=0

 wypisz 

p

 i 

n:=c

 w przeciwnym razie 

p

 zwiększ o 

(wróć do kroku 

3)

Krok5

. 

Zakończ algorytm.

Zmienne pomocnicze:

 

- całość z dzielenia 

n

 przez 

p

- reszta z dzielenia 

n

 przez 

p

background image

 

 

 

 

Schemat blokowy

Schemat blokowy

 

 

START

Wprowadź (n)

i:=2;

i <= n

r=0

n=12, i=2

KROK I

  2<=12  

Tak

 

krok a)

  c=12 div 2=6; 

              r= 12 mod 2=0;  

              0=0 

Tak

                      wypisz 

2

                      n=6

 

krok b)

 c=6 div 2=3;

               r= 6 mod 2=0
              0=0  

Tak 

                       

wypisz 

2

                       n=3
  

krok c)

 c= 3 div 2=1

               r=3 mod 2=1 
               1=0 

Nie  

                      

i=2+1=3

KROK II

 3<=3 

Tak

  

  krok a)

 c=3 div 3=1

                 r= 3 mod 3=0
                 0=0 

Tak

                         wypisz 3
                         n=1

    krok b)

 c=1 div 3 =0

                 r= 1 mod 3=1
                 1=0 

Nie

                       i:=3+1=4 

KROK III 

4<=1 

Nie

Koniec

n:=c

NIE

STOP

TAK

c:=n div i

r:=n mod i

TAK

Wypr (i)

NIE

i:=i+1

background image

 

 

 

 

Zadania

Zadania

 

 

Zadanie1

Napisz program przedstawiający liczbę 

n

 w postaci iloczynu liczb 

pierwszych n- elementowej. Liczbę n wprowadzamy z klawiatury.

Zadanie2

Zmodyfikuj program z 

zadania1

, tak aby w przypadku wprowadzenia za 

liczbę 

n

 liczby pierwszej, pojawiał się komunikat :

„Liczba pierwsza – brak czynników mniejszych od 

n


Document Outline