![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 19.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Potrzebuję skryptu którego działania podam poniżej:) Skrypt najprosciej w swiecie ma wypisac wszystkie kombinacje literowe. Wiem jak wypisac cyfry. Czy mógł by mi ktoś podać skrypt który wypisze wszystkie 3literowocyfrowe kombinacje? ![]() 000 001 002 AAB itd ważne żeby było pokolei i żeby mógł większyć z np 3 liter na 4 lub 5.... Mam nadzieję, że mi pomożecie:) |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 575 Pomógł: 299 Dołączył: 26.03.2009 Ostrzeżenie: (20%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 31 Dołączył: 30.03.2009 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
pomysł bardzo dobry(ale na końcy?
![]() ![]() przykład dla kombinacji 3 elementowych:
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 19.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Jednak w pliku baza.txt ostatnia liczba to 089807 co jest nie tak? |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 575 Pomógł: 299 Dołączył: 26.03.2009 Ostrzeżenie: (20%) ![]() ![]() |
Jeśli chcesz wszystkie kombinacje od 000000 do 999999 to zastosuj taki skrypt
-------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 19.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Nie chce cyfr... znaczy chcę litery i cyfry.
Po prostu potrzebuje skryptu który zapisze do pliku txt wszystkie mozliwe ciągi literowe od A do ZZZZZZZZZZZZZZZ |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 31 Dołączył: 30.03.2009 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
deen---lenisz się , wicepsik podesłał dobry pomysł ja uzupełniłem go wskazówką --jak poprawić pomysł.
w tablicy wicepsika jest 26 znaków ---- ilość kombinacji 3 elementowych z 26 elemetów=2600 sprawdź kod:
wprowadzać możesz nawet różne nazwy rozdziel je tylko jakimś znakiem np '-'. Ten post edytował celbarowicz 17.05.2010, 07:50:29 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 15 Dołączył: 15.11.2007 Skąd: Nowogród Bobrz. Ostrzeżenie: (0%) ![]() ![]() |
ilość kombinacji 3 elementowych z 26 elemetów=2600 Raczej 26^3 czyli 17.576 Jak dodasz cyfry to będzie 36^3 czyli 46.656 Najprostszy skrypt:
-------------------- Efemental.pl - nasz punkt słyszenia :: recenzje :: tylko metal!
Opensource'owy klon Cantra: http://github.com/magnax/Simtr |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 31 Dołączył: 30.03.2009 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
magnus , a wiesz jaka jest różnica między kombinacjami , a permutacjami i wariacjami?
z kombinacjami masz do czynienia w lotto-czyli żadna liczba nie może sią powtórzyć. w permutacjach i wariacjach jest inaczej. jak? ![]() pozdrawiam. Ten post edytował celbarowicz 17.05.2010, 10:53:45 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Na szybko zrobione. Określasz zestaw znaków, a ilość foreach określa ile znaków w wariacji. Tutaj jest ich 5. Zmieniaj liczbę pętli a dostaniesz inną. To co zrobiłem to wariacja z powtórzeniami, bo autor nie określił jaka ma być. Niech napisze czy z czy bez powtórzeń. Jeśli nie rozumie... czy w grupie 3 znakowej mogą czy nie powtórzyć się znaki. A więc czy możliwe jest AAA czy tylko ABC. Choć patrząc na fakt 001 i podwójnego 0 wnioskuję, że ma to być tak jak zrobiłem, a więc z powtórzeniami ![]()
Powód edycji: [thek]: poprawiłem swoje przejęzyczenie
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 31 Dołączył: 30.03.2009 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
jak to są kombinacje to ja jestem biskupem
thek , a wiesz jaka jest różnica między kombinacjami , a permutacjami i wariacjami? z kombinacjami masz do czynienia w lotto-czyli żadna liczba nie może sią powtórzyć. w permutacjach i wariacjach jest inaczej. jak? pozdrawiam. |
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
W kombinacjach wartości mogą się powtarzać. Mój błąd jest jeden. To co zrobiłem nazwałem kombinacją z powtórzeniami choć jest to wariacja z powtórzeniami. A wnioskując z zadania to właśnie to chciał uzyskać autor. Czemu tak sądzę? Bo ma zdublowane zero. Nie wspomniał, że trójka {0, 0, 1} jest identyczna z trójką {0, 1, 0} (brak tego podpunktu a w języku potocznym wielu ludzi na wariacje mówi właśnie kombinacje) co sugeruje, że są one inne dla niego i źle dobrał on słowa. Najlepiej niech autor doprecyzuje pytanie na jakimś krótkim przykładzie... Może z zestawem {0, 1, A, B}?. Czy mają być powtórzenia, czy ważne jest umiejscowienie elementów w trójkach? Bo to nam określi z czym tak naprawdę mamy do czynienia, czy wariacją jak ja mniemam, czy faktycznie kombinacją jak się wyraził. Bo zwrot autora iż chce "od A do ZZZZZZZZZZ" sugeruje mi coś innego niż kombinacja, o którą się tak burzysz
![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 19.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ok specyfikuje...
A B C ... Z AA AB AC AZ ... BA BB BC ... BZ ... ... ZY ZZ AAA AAB ..... AAZ AZA AZB etc aż do ZZZZZ to tak samo jak chciał bym wypisać liczby tylko ze maja byc to ciągi znaków:) mało aktualne ale jak coś to będzie fajnie jak by komuś chciało się coś takiego napisac:) |
|
|
![]()
Post
#14
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Poczytaj o rekurencji by zrozumieć o co tu chodzi. Zrobiłem tak by zarówno zestaw znaków wejściowych jak i głębokość były parametryzowalne. Tylko tak nie ugrzęźniesz w pętlach by skrypt nie rozrastał się kosmicznie. -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 28.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
to mi drukuje:
Kod Array ( [0] => A [1] => B [2] => AA [3] => AB [4] => BA [5] => BB [6] => AAA [7] => AAB [8] => ABA [9] => ABB [10] => BAA [11] => BAB [12] => BBA [13] => BBB [14] => AAAA [15] => AAAB [16] => AABA [17] => AABB [18] => ABAA [19] => ABAB [20] => ABBA [21] => ABBB [22] => BAAA [23] => BAAB [24] => BABA [25] => BABB [26] => BBAA [27] => BBAB [28] => BBBA [29] => BBBB ) a czy mozna to zrobic aby bez numerku drukowalo i array? Ten post edytował DowNlOaD_ 11.06.2010, 21:33:45 |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 11 Dołączył: 29.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#17
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Dałem Ci gotowca, który robi to co chcesz. Ja to zapisałem do tablicy, ale jeśli Ty chcesz to w innej formie to się z tym baw już sam
![]() @Lars: Uwierz mi, że wcale nie trzeba wyświetlać zawartości tablicy. Wystarczy malutka zmiana w skrypcie związana z $result, a zamiast wrzucać do tablicy, funkcja zacznie pluć na ekran wszystko i print_r nie będzie potrzebne.
Powód edycji: [thek]: Edycja dla Larsa :)
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 28.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
zamienilem
Kod ?> <pre> <?php print_r( $wynik ); ?> </pre> na Kod echo(implode('<br />',$wynik)); i gitarka, all chodzi jak chcialem ![]() //edit: moze jest inna metoda ale ja takie cos na necie znalazlem i to wykozystam ![]() //edit2: jak proboje z duza iloscia znakow to zrobic z MAX 15 dlugoscia to mam error Allowed memory size of 134217728 bytes exhausted (tried to allocate 16 bytes) eh ;/ Ten post edytował DowNlOaD_ 11.06.2010, 23:03:41 |
|
|
![]()
Post
#19
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
A czego się spodziewałeś? Rekurencja powoduje duże zużycie pamięci w porównaniu do normalnych skryptów. Jeśli masz możliwość zwiększ przydział pamięci dla skryptów w php.ini i po sprawie.
A to co ja mówię, to kwestia... wyrzucenia zmiennej $result oraz $wynik ze skryptu i w jednym miejscu zastąpienie jej przez echo ![]() Zwróć uwagę na funkcje ob_* w nowe wersji... Weź sobie je wykasuj i uruchom skrypt a potem wstaw ponownie i zobacz dlaczego się przydają. No i na bank zwiększa czas działania skryptu także w php.ini bo Ci sypnie przekroczeniem ![]() ![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 150 Pomógł: 3 Dołączył: 13.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Mhm nie jestem specjalistą ale czy nie lepiej zrobic tablice 3 wymiarową i 3 fory i kazdy by szedł od Znaku ASCI który nas interesuje numer wartośc z numeru aktualnego for przerzutować i przypisać do tablicy
![]()
Skrypt długo sie ładuje ale wyswietli ci wszystkie kombinacje literocyfrowe w 3 znakach |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.06.2025 - 22:02 |