![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 1 Dołączył: 5.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
mam tablice z pojedyńczymi cyframi/literamy
jak moge z nich dostac wszystkie mozliwosci np mam [0] => w [1] => 5 [2] => r i chce miec w5r wr5 5wr 5rw rw5 r5w |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Przy trzech elementach to nie problem...
Ale weź policz np. !5 Robiłem kiedyś taki skrypt jednak użycie procka przy !8 wynosiło jakieś 40% na rdzeń, i pochłaniał jakieś 800mb pamięci. W ogóle po co Ci? (IMG:style_emoticons/default/biggrin.gif) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 1 Dołączył: 5.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
No niestety nie ma jak inaczej tego zrobić :/
będzie maksymalnie 7 znaków do pomieszania co daje nam troche mozliwosci no ale co zrobić... jak bedzie bardzo zamulalo to cos sproboje innego wymyslec ale tymczasem moglbys podac rozwiązanie lub jakis link/ nazwe funkcji |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy jest gotowa funkcja jednak ja robiłem tak:
Obliczałem silnię (abym wiedział ile możliwości muszę uzyskać) Potem wykonywałem pętlę dopóki ilość elementów w tablicy (count) nie była równa silni. Co do tworzenia tablicy: implode + in_array + array_rand. Jakbyś miał problemy to wal. (IMG:style_emoticons/default/haha.gif) Wyskrobałem coś takiego:
I nawet dość szybko działa. Nie wiem czy optymalnie no ale... ;d |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 1 Dołączył: 5.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
dzieki serdeczne nawet nie dałeś mi samemu pomyśleć ;p
no rzeczywiscie skrypcik troche zamula... na shared hostingu nie ma szans go odpalic Fatal error: Maximum execution time of 30 seconds exceeded in na dedyku chwila i na localu sekundka (IMG:style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
40 minut to mało na myślenie? Ja go pisałem 1/4 tego czasu.
Co do zamulania, nie dziwić się... Wybierasz losowe elementy, łączysz, sprawdzasz czy takie były, jeżeli nie to dodajesz. I tak w kółko, póki nie osiągniesz liczby możliwości (silni). |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 403 Pomógł: 68 Dołączył: 20.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
W kombinatoryce nazywa się to permutacja, wiedząc to za pomocą google i hasła array permutation php można znaleźć stronkę:
http://hell.org.ua/Docs/oreilly/webprog/pcook/ch04_26.htm gdzie jest gotowiec do rozwiązania tego problemu. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 1 Dołączył: 5.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
40 minut to mało na myślenie? Ja go pisałem 1/4 tego czasu. Co do zamulania, nie dziwić się... Wybierasz losowe elementy, łączysz, sprawdzasz czy takie były, jeżeli nie to dodajesz. I tak w kółko, póki nie osiągniesz liczby możliwości (silni). nie sprawdzałem co sekunde czy ktoś odpisał tak czy tak to ze mi nie dałes czasu nie miało żadnego negatywnego wydzwieku byłem mile zaskoczony (IMG:style_emoticons/default/smile.gif) aha i dzieki za drugi link skrypt jest wydajniejszy jakies 100 razy;p |
|
|
![]() ![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 53 Dołączył: 10.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 30.09.2025 - 18:25 |