Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wariacje z powtorzeniami, trzyelementowe z 35
Vomit
post
Post #1





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 23.01.2006

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


Chciałem wygenerowac sobie wszystkie mozliwe polaczenia liter i liczb, aby stworzyly one 3 znakowy string. Wiem, ze wariacje z powtorzeniami 3 elementowe z 35 to bedzie 35^3.
Napisalem wiec takie "cos":

  1. <?php
  2.  
  3. $array = array();
  4.  
  5. function genLb( $ilosc )
  6. {
  7.  
  8. $litery = array( 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p','r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' );
  9. for( $y = 0; $y < $ilosc; $y++ )
  10. {
  11. $cyfra = rand(0,34);
  12. $lb .= $litery[$cyfra];
  13. }
  14.  
  15.  
  16. return $lb;
  17.  
  18. }
  19.  
  20. for( $i = 1; $i < pow(35,3); $i++ )
  21. {
  22. $lb = genLb(3);
  23. if ( !in_array($lb,$array) )
  24. {
  25. $array[] = $lb;
  26. }
  27. }
  28. sort($array);
  29. echo '<pre>';
  30. print_r($array);
  31. ?>


Problem polega na tym, ze skrypt nigdy nie chce dojsc do konca. Najwiecej do tej pory zdarzylo mi sie, ze wygenerowal 16345 rozwiazania, a powinno ich byc 42875.
Czemu tak sie dzieje? (dzialam na localhoscie)
Go to the top of the page
+Quote Post

Posty w temacie


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 - 06:03