Betrachten Sie die folgende Multiple-Choice-Frage:Wie berechnet man alle möglichen Multiple-Choice-Kombinationen?
Was ist die Farbe der Äpfel?
- a. rot
- b. grün
- c. blau
- d. schwarz
Jetzt möchte ich alle, es ist möglich, Antworten berechnen, und ich konnte es manuell tun, wie so ...:
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
... aber das ist anfällig für menschliche Fehler. Wie kann ich das programmatisch mit JavaScript machen?
Mein erster Gedanke ist die Gesamtzahl der Entscheidungen (a, b, c, d = 4) zu definieren ...:
const TOTAL_CHOICES = 4;
// TO-DO
... aber dann weiß ich nicht, was die nächste Schritt sollte sein. Irgendwelche Ideen?
Eine Suche nach "Permutationen und Kombinationen" gibt Ihnen alle Hintergrundinformationen, die Sie benötigen, um die möglichen Kombinationen von Antworten zu berechnen. Einige Taschenrechner haben eine nCr/nPr-Taste - um solche Probleme zu lösen. – enhzflep
Werfen Sie einen Blick auf http://codereview.stackexchange.com/questions/7001/generating-all-combinations-of-an-array Sie können erhalten https://jsfiddle.net/Lg0wyt9u/1101/ –
Math.Pow (2, NUMCHOICES) gibt Ihnen die Anzahl der Wahlmöglichkeiten, vorausgesetzt, "keine der oben genannten" ist eine Möglichkeit. Wenn es mindestens eine Auswahlmöglichkeit geben muss, ziehen Sie 1 davon ab. –