Показать сообщение отдельно
  #4 (permalink)  
Старый 10.11.2017, 12:05
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,010

Сообщение от Evelate
Хочу, чтобы программа учла все возможные варианты.
Например сначала сравнить каждый столбец с "счёт",
потом столбы 1 2, 1 3, 1 4, 1 5, 1 6, 1 7, 1 8, 1 9, 1 10 с "счёт"
2 1, 2 3, 2 4, 2 5, 2 6, 2 7, 2 8, 2 9, 2 10 с "счёт"
...
1 2 3, 1 2 4, 1 2 5, 1 2 6, 1 2 7, 1 2 8, 1 2 9, 1 2 10 с "счёт"
1 3 2, 1 3 4, 1 3 5, 1 3 6, 1 3 7, 1 3 8, 1 3 9, 1 3 10 с "счёт"
и так вплоть до
1 2 3 4 5 6 7 8 9 10 с "счёт"
а порядок именно такой?

есть простейший вариант, но там подмножества будут в другом порядке:
var N = 10;
for (var i = 1, max = Math.pow(2, N); i < max; ++i) {
  var value = ...;
  for (var j = 0; j < N; ++j) {
    var k = (i >> j) & 1; // надо ли учитывать j-й элемент на данной итерации
    value = value && ((j) && k);
  }
  if (value === "счёт") ...
}


если надо соблюсти указанный порядок, то там рекурсия будет.
Ответить с цитированием