Я собрал на этой странице несколько задач, которые можно давать на собеседовании.
1) нужно вывести последовательность чисел от 1 до 100 в виде лесенки, то есть на первой строке 1, на второй 2,3, на третей 4,5,6 на четвертой 7,8,9,10 и т.д.
2) Заполнить матрицу 5 на 7 уникальными случайными числами и вывести на экран матрицу и суммы по столбцам и по строкам.
Решение:
<?php $a = 0; for($i = 1; $a < 100; $i++){ for($n = 0; $n < $i && $a < 100; $n++){ $a++; echo $a; } echo "<br>\n"; } echo '<hr><pre>'; $a = $b = $uniq = array(); for($i = 0; $i < 5; $i++){ $a[ $i ] = array(); for($n = 0; $n < 7; $n++){ while(true){ $x = rand (1, 777); if( !isset($uniq[ $x ]) ){ $uniq[ $x ] = true; break; } } $a[ $i ][ $n ] = $x; if( !isset($b[ $n ]) ){ $b[ $n ] = array(); } $b[ $n ][] = $x; } } echo '<table border="1"><tr>'; for($i = 1; $i < 8; $i++){ echo '<td>'.$i.'</td>'; } echo '<td>sum</td></tr>'; foreach($a as $k => $v){ echo '<tr>'; foreach($v as $r){ echo '<td>'.$r.'</td>'; } echo '<td>'.array_sum($v).'</td></tr>'; } echo '<tr>'; for($n = 0; $n < 7; $n++){ echo '<td>'.array_sum($b[$n]).'</td>'; } echo '<td>sum</td></tr>'; echo '</table>';
В результате получим:
1
23
456
78910
1112131415
161718192021
22232425262728
2930313233343536
373839404142434445
46474849505152535455
5657585960616263646566
676869707172737475767778
79808182838485868788899091
9293949596979899100
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | sum |
| 442 | 708 | 743 | 181 | 95 | 365 | 294 | 2828 |
| 189 | 523 | 728 | 84 | 107 | 72 | 512 | 2215 |
| 452 | 232 | 516 | 162 | 352 | 417 | 364 | 2495 |
| 161 | 702 | 182 | 234 | 609 | 565 | 224 | 2677 |
| 5 | 768 | 377 | 446 | 699 | 342 | 626 | 3263 |
| 1249 | 2933 | 2546 | 1107 | 1862 | 1761 | 2020 | sum |
Удачки.
Комментарии