Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> liczby pierwsze
invx
post
Post #1





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


potrzebuje znalezc wszytskie iliczby pirwsze, z podaneo zakresu, nie uzywajac tablic, jedynie zwykle zmienne warunek IF, i petle FOR,
mialem pomysl, zeby sprawdzic czy poczatkowa liczba jest mniejsza od 10 czy nie, jak tak to spawdzam czy nie jest ona rowna 1 3 5 7 9, a jesli powyzej czy ma reszte jak sie ja podzieli przez 2 3 4 5 6 7 8 9 czy nie, i w zaleznosci od tego alba ja wyswitlam albo nie

co o tym sadzicie ?


--------------------
RCXcms
www.rcx.prv.pl
Pierwszy polski w pełni zintegrowany system portal
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
rogrog
post
Post #2





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

Ostrzeżenie: (0%)
-----


invx przerabia algorytmike smile.gifsmile.gif

poszukaj o czymś takim jak sito Eratostenesa

i najlepiej kup sobie jakąś książkę o algorytmach (np. M. Sysło, Algorytmy - to jest od podstaw, chociaż dosyć stara książka)


--------------------
Go to the top of the page
+Quote Post
invx
post
Post #3





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


boki zrywac biggrin.gif

wiem ze jes takie sito, bo takie mielismy temat lekcji
pytam co o tym sadzicie co napisalem smile.gif bo jak dobre koduje to.


--------------------
RCXcms
www.rcx.prv.pl
Pierwszy polski w pełni zintegrowany system portal
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Zly algorytm: a co dla liczby 221 (12 x 17)? jest przeciez pierwsza? a nie jest podzielna przez 2, 3, 5, 7
(9 nie jest pierwsza!!)
1 - nie jest liczba pierwsza ani ta druga (zlozona?)

Najprostszy algorytm (najwolniejszy):
N -- sprawdzana liczba
loopujesz przez liczby od 2 do floor( N/2 )
i sprawdzasz czy N jest podzielna przez ktorakolwiek z nich -- jesli tak to nie jest pierwsza.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
FiDO
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

Ostrzeżenie: (0%)
-----


Cytat(dr_bonzo @ 2005-03-06 20:49:30)
Najprostszy algorytm (najwolniejszy):
N -- sprawdzana liczba
loopujesz przez liczby od 2 do floor( N/2 )
i sprawdzasz czy N jest podzielna przez ktorakolwiek z nich -- jesli tak to nie jest pierwsza.

Mozna to troche zoptymalizowac i szukac do floor(sqrt(N)) a nie do N/2.


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
invx
post
Post #6





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


to mui byc bez funkcji ...


--------------------
RCXcms
www.rcx.prv.pl
Pierwszy polski w pełni zintegrowany system portal
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


No to rzutuj (najwyzej zrobisz kilka iteracji za duzo):
(int)( N / 2)


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
rogrog
post
Post #8





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

Ostrzeżenie: (0%)
-----


hmm to nie kumam po co chcesz robic nieoptymalnym algorytmem i sie pytasz o cos takiego...
zreszta myslalem ze mozesz o tym algorytmie nie wiedziec no ale jak tak to sorry

Ten post edytował rogrog 6.03.2005, 21:08:57


--------------------
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Juz nie pierwszy raz invx dostaje takie zadania (posortowanie liczb tylko za pomoca if-ow)


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
TomASS
post
Post #10





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Zwykle algorytmy dokładne są dosyć wolne, a złożonoś obliczeniowa duża. Radzę Ci, abyś zapoznał się z algorytmami przybliżonymi np. algorytmem Monte Carlo do obliczania liczb pierwszych. Jeśli kogoś interesuje ten temat, to bardzo chętnie mogę przybliżyć.

Pozdrawiam serdecznie


--------------------
Go to the top of the page
+Quote Post
orson
post
Post #11





Grupa: Zarejestrowani
Postów: 548
Pomógł: 2
Dołączył: 19.07.2003

Ostrzeżenie: (0%)
-----


witam ...

@TomASS hmm ... a mnie sie wydaje ze to ma nie byc wydajne tylko wg polecenia w zadaniu domowym winksmiley.jpg

pozdrawiam


--------------------
Computer games don't affect kids; I mean if <span style="font-weight: bold;">Pac Man</span> affected us as kids,we would all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music.
Go to the top of the page
+Quote Post
NuLL
post
Post #12





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

Ostrzeżenie: (0%)
-----


A jaki ma być zasięg tych liczb- mozna to zrobic w dwoch petlach:)

Aby sprawdzizc czy danan liczba jest pierwsza poporostu dzielisz modulo przez wszystkie liczby mnijesze od niej - i jesli reszta rowna sie zero z ktores z nich to ona nie jest pierwsza i na odwrot - jesli dana liczba dze\ieli wsie przez wszystkie mniejsze od sieibe dajac reszte to jest to liczba pierwsza smile.gif


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
hawk
post
Post #13





Grupa: Zarejestrowani
Postów: 521
Pomógł: 0
Dołączył: 3.11.2003
Skąd: 3city

Ostrzeżenie: (0%)
-----


@rogrog:
Sito Erastotenesa właśnie wykorzystuje tablicę, wiec odpada.

@invx:
Jeżeli nie możesz wykorzystać tablicy, a zakres poszukiwania jest dowolny, to niestety nie da się zrobić algorytmu z "pamięcią". Czyli dla każdej liczby poszukiwania trzeba zacząć od nowa.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 07:29