Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Алгоритм для подсчета количества вариантов размещения 8 пешек на шахматной доске X - Y
Покинул форум
Сообщений всего: 3
Дата рег-ции: Июль 2017
Помог: 0 раз(а)
С матиматической формулой все понятно. n!/((n-p)!p!)
Не понимаю с циклом:
$p= 8; $n= 48;
for($c= $n, $x= $n-1, $y= 2; $y<=$p; $y++, $x--) $c= $c*$x/$y;
echo "$c\n";
Почему $y = 2?
Почему такое решение? $c= $c*$x/$y
dcc0
Отправлено: 19 Июля, 2017 - 16:58:16
Участник
Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014
Помог: 10 раз(а)
Вот такие хитрецы, так хитро разложили формулу сочетаний. Вынесли подсчет факториала в цикл.
Возьмите числа поменьше и пройдитесь по операциям, подставляя числа вместо переменных, пошагово, станет понятно.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.