$matches = 13;
$outcomes = 3;
$possibilities = $outcomes ** $matches;
for ($count = 0; $count < $possibilities; $count++) {
echo str_pad(base_convert($count, 10, 3), $matches, '0', STR_PAD_LEFT)."\n";
}
Это напечатает количество 13-символьных строк с тремя различными возможностями для каждого символа. (Вам решать, как распределить значения; я бы, вероятно, использовал 1
для победы в Team1, 2
для победы в Team2, 0
для ничьей.)
Это не удастся, если вы сделаете слишком большие числа, поскольку base_convert
работает через float
, очевидно. Есть способов обойти это , но если вы исследуете столько возможностей, у вас могут возникнуть другие проблемы: P