simpleudcall(); $t = end_test($t, "simpleudcall"); mandel(); $t = end_test($t, "mandel"); mandel2(); $t = end_test($t, "mandel2"); ackermann(7); $t = end_test($t, "ackermann(7)"); ary(50000); $t = end_test($t, "ary(50000)"); ary2(50000); $t = end_test($t, "ary2(50000)"); ary3(2000); $t = end_test($t, "ary3(2000)"); fibo(30); $t = end_test($t, "fibo(30)"); hash1(50000); $t = end_test($t, "hash1(50000)"); hash2(500); $t = end_test($t, "hash2(500)"); heapsort(20000); $t = end_test($t, "heapsort(20000)"); matrix(20); $t = end_test($t, "matrix(20)"); nestedloop(12); $t = end_test($t, "nestedloop(12)"); sieve(30); $t = end_test($t, "sieve(30)"); strcat(200000); $t = end_test($t, "strcat(200000)"); total($t0, "Total");
$mx[$i][$j] = $count++; } } return $mx; } function mmult($rows, $cols, $m1, $m2) { $m3 = array(); for ($i = 0; $i < $rows; $i++) { for ($j = 0; $j < $cols; $j++) { $x = 0; for ($k = 0; $k < $cols; $k++) { $x += $m1[$i][$k] * $m2[$k][$j]; } $m3[$i][$j] = $x; } } return $m3; } function matrix($n) { $SIZE = 10; $m1 = mkmatrix($SIZE, $SIZE); $m2 = mkmatrix($SIZE, $SIZE); while ($n--) { $mm = mmult($SIZE, $SIZE, $m1, $m2); } print "{$mm[0][0]} {$mm[2][3]} {$mm[3][2]} {$mm[4][4]}\n"; } matrix(2);
function polyregression($x, $y, $n) { $m = array(); for ($i = 0; $i < count($x); $i++) { $m[$i][0] = 1; for ($j = 1; $j <= $n; $j++) { $m[$i][$j] = $m[$i][$j - 1] * $x[$i]; } } $m = matrixsolve(matrixprod(matrixtranspose($m), $m), matrixprod(matrixtranspose($m), matrix($y, count($y), 1))); $m = matrixtranspose($m); return $m[0]; }
function main_function() { for ($i = 0; $i < 100; ++$i) { ackermann(4); ary(50000); ary2(50000); ary3(100); fibo(23); hash1(10000); hash2(200); heapsort(2000); matrix(3); nestedloop(8); sieve(5); strcat(80000); binary_trees(7); fannkuch(6); } }
<?php function matrix($x, $m, $n) { $arr = array(array()); for ($i = 0; $i < $m; $i++) { for ($j = 0; $j < $n; $j++) { $arr[$i][$j] = $x; $x++; } } echo "<table border = 1>"; for ($q = 0; $q < $m; $q++) { echo "<tr>"; for ($p = 0; $p < $n; $p++) { echo "<td>" . $arr[$q][$p] . "</td>"; } echo "</tr>"; } echo "</table>"; } $x = rand(1, 10); $m = 4; $n = 4; matrix($x, $m, $n); /*Декларирайте функция, която отпечатва таблица с m реда и n колони. В таблицата се отпечатва и числото х, което нараства с 1, на всяка клетка от таблицата по редове. 20 т.*/
<?php /* * Problem Statement * You are given a 2D matrix, a, of dimension MxN and a positive integer R. * You have to rotate the matrix R times and print the resultant matrix. * Rotation should be in anti-clockwise direction. * Rotation of a 4x5 matrix is represented by the following figure. Note that in one rotation, * you have to shift elements by one step only (refer sample tests for more clarity). */ function matrix(array $arr) { $n = count($arr); for ($i = 0; $i < $n / 2; $i++) { for ($j = 0; $j < $n - $i - 1; $j++) { $tmp[] = $arr[$i][$j - $i]; } } print_r($tmp); } $arr = ['4 4 1 ', '1 2 3 4 ', '5 6 7 8 ', '9 10 11 12 ', '13 14 15 16']; foreach ($arr as $k => $a) { $k > 0 ? $array[] = array_map('intval', array_filter(explode(' ', $a), 'trim')) : false; } echo matrix($array); echo PHP_EOL;
return $t['sec'] + $t['usec'] / 1000000; } function start_test() { ob_start(); return getmicrotime(); } function end_test($start, $name) { global $total; $end = getmicrotime(); ob_end_clean(); $total += $end - $start; $num = number_format($end - $start, 3); $pad = str_repeat(" ", 24 - strlen($name) - strlen($num)); echo $name . $pad . $num . "\n"; ob_start(); return getmicrotime(); } function total() { global $total; $pad = str_repeat("-", 24); echo $pad . "\n"; $num = number_format($total, 3); $pad = str_repeat(" ", 24 - strlen("Total") - strlen($num)); echo "Total" . $pad . $num . "\n"; } $t0 = $t = start_test(); matrix(99); $t = end_test($t, "matrix(20)");
function main_function() { ackermann(2); ary(500); ary2(500); ary3(5); fibo(13); hash1(100); hash2(20); heapsort(200); matrix(3); nestedloop(3); sieve(1); strcat(80); binary_trees(3); fannkuch(6); }