ХакИрФсимагущий
[засикречино]
чего не так?я не рассматривою БД это не в ходит в оптимизацию php никаким боком. А код в циклах повторяется тысячами?Обдолбался?
чего не так?я не рассматривою БД это не в ходит в оптимизацию php никаким боком. А код в циклах повторяется тысячами?Обдолбался?
уже их постановки задачи ясно что самое логическое решение - это два цикла, чтобы получилось каждый с каждым.каждая команда должна сыграть друг с другом
foreach($teams as $home) {
foreach(team as $away) {
// здесь логика, не забывая что команда не играет сама с собой
}
}
Жжощ троль. Для тебя у меня есть особый способ оптимизирывать твой код, echo быстрее чем print.ХакИрФсимагущий так быстрее:
PHP:$tstart1 = microtime(true); $x = 10000001; $tstop1 = microtime(true); print $tstop1 - $tstart1;
Кто бы говорил.
это я просто для того, что бы понять сколько туров должно быть,генерировал с помощью Таблица и расписаниеAmdY
1 тур
Игрок4 — Игрок2
Игрок1 — Игрок5
Игрок3 — Игрок6
почему Игрок4 не играет ни с 1 ни с 3м?
foreach($arr as $home) {
foreach($arr as $away) {
echo "<pre>";
echo "$home.-.$away\n";
}
}
$w=6;//работает только с четными числами.
$q=$w/2;
for($i=1; $i<=$w; ++$i) {
$p[]='Игрок'.$i;
}
for($i=0; $i<=$w-1; ++$i) {
echo $p[abs($q-$i)],' против ', $p[$i],'\n';
}
$w=6;//работает только с четными числами.
function z($q,$i,$w){
if($i<=$w-1&&$q!=$i){
return true;}
}
for($i=1; $i<=$w; ++$i) {
$p[]='Игрок'.$i;
}
for($q=0; $q<=$w-1; ++$q) {
for($i=0; z($q,$i,$w); ++$i) {
echo $p[$q],' против ', $p[$i],"\n";
} ;
| 1 2 3 4 5 6
--+----------------------------------------------------
1 | # 2 3 4 5 1
2 | 2 # 4 5 1 3
3 | 3 4 # 1 2 5
4 | 4 5 1 # 3 2
5 | 5 1 2 3 # 4
6 | 1 3 5 2 4 #
$players = 4;
$rounds = $players-1 + $players%2;
for( $player=1; $player<=$players; $player++ ){
$bround = ($player*2-1) % $rounds;
$bround = ( !$bround ? $rounds : $bround );
for( $vs=$player; $vs<=$players; $vs++ ){
if($vs==$player && !$players%2) $round[$bround][] = array($players, $vs);
elseif(!$players%2){
$round[$bround][] = array($player, $vs);
$bround = ++$bround>$rounds ? 1 : $bround;
}
else{
// профит
}
}
}
print_r($round);
$players = 6;
$rounds = $players-1 + $players%2;
for( $player=1; $player<=$players; $player++ ){
$bround = ($player*2-1) % $rounds;
$bround = ( !$bround ? $rounds : $bround );
for( $vs=$player; $vs<$players; $vs++ ){
if($vs==$player) $round[$bround][] = array($players, $vs);
else $round[$bround][] = array($player, $vs);
$bround = ++$bround>$rounds ? 1 : $bround;
}
}
print_r($round);
<?php
echo "<pre>";
$height=4;
for($y=4; $y<=$height; $y--){
echo abs($y)."\n";
}
?>
4
3
2
1
0
1
2
3
4
5
6
7
8
9
10
.
.
<?php
echo "<pre>";
$height=4;
for($y=4; $y<=$height; $y--){
if($y == -5)break;
echo abs ($y).str_repeat('*')."\n";
}
?>