Advertisement
Eselter

Kombinacje bez powtórzeń

Mar 10th, 2015
277
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.83 KB | None | 0 0
  1. <?php
  2.   $n = $_GET['n'];
  3.   $k = $_GET['k'];
  4.  
  5.   $wynik;
  6.   $licznik = 0;
  7.  
  8.   function getmicrotime () {
  9.     list($usec, $sec) = explode(' ', microtime() );
  10.     return ( (float)$usec + (float)$sec );
  11.   }
  12.  
  13.   function endtime ($time) {
  14.     echo '<p>Czas wykonywania skryptu: '. ( getmicrotime() - $time ) .' s.</p>';
  15.   }
  16.  
  17.   function wypisz ($dane) {
  18.     global $licznik;
  19.     $licznik++;
  20.     echo implode(', ', $dane);
  21.     echo "<br />\n";
  22.   }
  23.  
  24.   function kombinacje ($i, $p) {
  25.     global $wynik;
  26.     global $n;
  27.     global $k;
  28.  
  29.     for($j = $i; $j <= $n - $p + 1; $j++) {
  30.       $wynik[ $k - $p ] = $j;
  31.       if( $p == 1 )
  32.         wypisz($wynik);
  33.       else
  34.         kombinacje( $j + 1, $p - 1 );
  35.     }
  36.   }
  37.  
  38.   $time = getmicrotime ();
  39.   kombinacje( 1, $k );
  40.   echo "<br />\nRazem: " . $licznik;
  41.   endtime($time);
  42. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement