10.11.2017, 12:05
|
|
Профессор
|
|
Регистрация: 25.10.2016
Сообщений: 1,012
|
|
Сообщение от 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 === "счёт") ...
}
если надо соблюсти указанный порядок, то там рекурсия будет.
|