J'ai un tableau comme [0,2,3,0,1]
en entrée, et j'ai besoin de trouver un produit cartésien de {0}x{0,1,2}x{0,1,2,3}x{0}x{0,1}
, plus précisément j'ai besoin d'avoir une sortie comme suit.Algorithme pour obtenir le produit cartésien
Entrée:
[0, 2, 3, 0, 1]
Sortie:
[0, 0, 0, 0, 0]
[0, 0, 0, 0, 1]
[0, 0, 1, 0, 0]
[0, 0, 1, 0, 1]
[0, 0, 2, 0, 0]
[0, 0, 2, 0, 1]
[0, 0, 3, 0, 0]
[0, 0, 3, 0, 1]
[0, 1, 0, 0, 0]
[0, 1, 0, 0, 1]
[0, 1, 1, 0, 0]
[0, 1, 1, 0, 1]
[0, 1, 2, 0, 0]
[0, 1, 2, 0, 1]
[0, 1, 3, 0, 0]
[0, 1, 3, 0, 1]
[0, 2, 0, 0, 0]
[0, 2, 0, 0, 1]
[0, 2, 1, 0, 0]
[0, 2, 1, 0, 1]
[0, 2, 2, 0, 0]
[0, 2, 2, 0, 1]
[0, 2, 3, 0, 0]
[0, 2, 3, 0, 1]
je besoin d'un algorithme général. Une idée ? Je voudrais l'écrire en C++. Merci
Donc, vous voulez compter de 0 à la valeur d'entrée pour chaque position? –
une raison pour laquelle '[0, 0, 0, 1, 0]' ne figure pas dans la liste de sortie? – WorldSEnder
duplication possible de [combinaison et permutation en C++] (http://stackoverflow.com/questions/2211915/combination-and-permutation-in-c) –