![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zablokowani Postów: 655 Pomógł: 0 Dołączył: 28.11.2003 Skąd: Zagórz Ostrzeżenie: (80%) ![]() ![]() |
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 ? -------------------- |
|
|
![]() |
![]()
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
![]() ![]() 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) -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zablokowani Postów: 655 Pomógł: 0 Dołączył: 28.11.2003 Skąd: Zagórz Ostrzeżenie: (80%) ![]() ![]() |
boki zrywac
![]() wiem ze jes takie sito, bo takie mielismy temat lekcji pytam co o tym sadzicie co napisalem ![]() -------------------- |
|
|
![]()
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.
|
|
|
![]()
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 :/
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zablokowani Postów: 655 Pomógł: 0 Dołączył: 28.11.2003 Skąd: Zagórz Ostrzeżenie: (80%) ![]() ![]() |
to mui byc bez funkcji ...
-------------------- |
|
|
![]()
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.
|
|
|
![]()
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 -------------------- |
|
|
![]()
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.
|
|
|
![]()
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 -------------------- |
|
|
![]()
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 ![]() 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.
|
|
|
![]()
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 ![]() -------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]()
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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 07:29 |