Рассмотрим следующий вопрос множественного выбора:Как рассчитать все возможные комбинации множественного выбора?
Что цвет яблок?
- a. красный
- б. зеленый
- c. синий
- d. черный
Теперь я хочу, чтобы вычислить все эти возможные ответы, и я мог бы сделать это вручную, вот так ...:
a
b
c
d
a, b
a, c
a, d
b, c
b, d
c, d
a, b, c
a, b, d
a, c, d
b, c, d
a, b, c, d
... но это склонное к человеческой ошибке. Как я могу сделать это с помощью JavaScript?
Моя первая мысль, чтобы определить общее число вариантов (а, б, в, г = 4) ...:
const TOTAL_CHOICES = 4;
// TO-DO
... но тогда я не знаю, что следующий шаг должен быть. Есть идеи?
Поиск «перестановок и комбинаций» даст вам всю информацию о фоновом режиме, необходимую для вычисления возможных комбинаций ответов. Некоторые калькуляторы имеют кнопку nCr/nPr - для решения только таких проблем. – enhzflep
Взгляните на http://codereview.stackexchange.com/questions/7001/generating-all-combinations-of-an-array, вы можете получить https://jsfiddle.net/Lg0wyt9u/1101/ –
Math.Pow (2, NUMCHOICES) дает вам количество вариантов, предполагая, что «ни один из вышеперечисленных» не является возможным. Если должен быть хотя бы один выбор, вычтите из него 1. –