Мне было поручено создать список всех возможностей, используя данные в 8 блоках.
У 8 блоков есть следующее количество возможностей:
*Block 1: 12 possibilities
*Block 2: 8 possibilities
*Block 3: 8 possibilities
*Block 4: 11 possibilities
*Block 5: 16 possibilities
*Block 6: 11 possibilities
*Block 7: 5 possibilities
*Block 8: 5 possibilities
Это дает потенциальное количество в 37 171 200 возможностей.
Я попытался просто выполнить и ограничиться только отображением значений, возвращаемых с правильной длиной строки, например:
foreach($block1 AS $b1){
foreach($block2 AS $b2){
foreach($block3 AS $b3){
foreach($block4 AS $b4){
foreach($block5 AS $b5){
foreach($block6 AS $b6){
foreach($block7 AS $b7){
foreach($block8 AS $b8){
if (strlen($b1.$b2.$b3.$b4.$b5.$b6.$b7.$b8) == 16)
{
echo $b1.$b2.$b3.$b4.$b5.$b6.$b7.$b8.'<br/>';
}
}
}
}
}
}
}
}
}
Однако время выполнения было слишком большим для вычисления. Мне было интересно, знает ли кто-нибудь более простой способ сделать это?