Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Generowanie pewnych ciągów
MaKaO
post
Post #1





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 3.05.2003
Skąd: Głogów

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


Mam pytanie jak wygenerować ciągi typu:
a, b, c, d [...] aa, ab, ac [...] ba, bb, bc [...] d1, d2, d3 [...] z678, z679 [...] i tak do 9999 ... Może mi ktoś pomóc? :wink:
Go to the top of the page
+Quote Post
bamboos
post
Post #2





Grupa: Zarejestrowani
Postów: 115
Pomógł: 0
Dołączył: 3.05.2003
Skąd: Łódź

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


[php:1:3e7c1c5be0]<?php
for($i = 48; $i <= 122; $i++){
if(($i > 57) && ($i < 97)) continue;
for($ii = 48; $ii <= 122; $ii++){
if(($ii > 57) && ($ii < 97)) continue;
echo chr($i) . chr($ii) . "<br>n";
}
}
?>[/php:1:3e7c1c5be0]
może tak ?!? to dla 2 znaków. Ale w analogiczny sposób dodaj kolejne pętle i będzie dla 4,5,6... ile sobie wymażysz ;P
Go to the top of the page
+Quote Post
radziel
post
Post #3





Grupa: Zarejestrowani
Postów: 103
Pomógł: 0
Dołączył: 25.04.2003
Skąd: Olsztyn

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


[php:1:630414edc1]<?php
/*
Wypisuje wszystkie mozliwe kombinacje danych cyfr , liter, znakow itp
*/
function anagramy($wyraz) {
global $ilosc;
for ($i=0;$i<strlen($wyraz);$i++) {
$znak=$wyraz[$i];
$ile=count($tmp);
if ($ile==0) $tmp[]=$znak;
else {
for($k=0;$k<$ile;$k++) {
$ciag=$tmp[$k];
for($j=0;$j<=strlen($ciag);$j++) {
$new[]= substr($ciag,0,$j).$znak.substr($ciag,$j);
$ilosc++;
}
}
$tmp=$new;
$new="";
}
}
return $tmp;
}

$tmp = anagramy('abcdefghijklmnoprstuwy0123456789');
for ($i=0;$i<count($tmp);$i++) echo $tmp[$i]."<br>";

?>[/php:1:630414edc1]


Uważaj z tym, przy pięciu znakach jest już 120 kombinacji a przy wszystkich literach alfabetu to już pare milionów (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)
Go to the top of the page
+Quote Post
MaKaO
post
Post #4





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 3.05.2003
Skąd: Głogów

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


Radziel ten skrypt jest dobry, tylko że chciałem coś w stylu sprawdzania kolejnych liter, przykładowo: aa, ab, ac, aab, aac itd...
A tu jest cab bac bca... Rozumiesz, chociaż ten też ciekawy :wink:
Go to the top of the page
+Quote Post
menic
post
Post #5





Grupa: Zarejestrowani
Postów: 493
Pomógł: 0
Dołączył: 14.06.2003
Skąd: Tomaszów Lubelski/Rzeszów

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


czyli nic innego jak łamacz haseł (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Na forum ktoś sie tam gdzies kiedys dawno chwalił ze udało mu sie złamac md5, a zrobił zwykłego broot-force'a (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Powinien ci tamten temat pomóc...
Go to the top of the page
+Quote Post
MaKaO
post
Post #6





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 3.05.2003
Skąd: Głogów

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


To nie łamacz haseł... I musicie mi uwierzyć na słowo, nie jestem żadnym lamerem co sie za hakera podaje, bo mnie to nie kręci :wink: Menic, a mógłbyś podać link?
Go to the top of the page
+Quote Post
bamboos
post
Post #7





Grupa: Zarejestrowani
Postów: 115
Pomógł: 0
Dołączył: 3.05.2003
Skąd: Łódź

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


MaKaO: A co jest złego w moim kodzie?!
Go to the top of the page
+Quote Post
MaKaO
post
Post #8





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 3.05.2003
Skąd: Głogów

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


Cytat
MaKaO: A co jest złego w moim kodzie?!
Przepraszam, jakimś dziwnym sposobem to pominąłem... Zaraz dam znać w tym poście co i jak :wink:

-----------[EDIT]--------

[php:1:3307fab137]<?
for($i = 48; $i <= 122; $i++){
if(($i > 57) && ($i < 97)){
continue;
}
for($ii = 48; $ii <= 122; $ii++){
if(($ii > 57) && ($ii < 97)){
continue;
}
for($iii = 48; $iii <=122; $iii++){
if(($iii > 57) && ($iii < 97)){
continue;
}
echo chr($i) . chr($ii) . chr($iii) ."<br>n";
}
}
}
?>[/php:1:3307fab137]
Działa genialnie!! Wielkie dzięki... :wink:
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 22:58