A voir également:
- Algorithme code 4 chiffres
- Tous les code possible de 0 à 9 (4 chiffres ) liste - Forum Programmation
- Code gta 4 ps4 - Guide
- Cadenas code bloqué 4 chiffres ✓ - Forum Virus
- +33 4 24 12 09 15 ✓ - Forum Mobile
- Code asci - Guide
2 réponses
Il faut utiliser une prog récursive et enlever les éléments une fois utilisés
en java ça donne ça
en java ça donne ça
public static void main(String[] args) { ArrayList<Integer> nombres = new ArrayList<Integer>(); for (int i = 0; i < 20; i++) { nombres.add(i); } List<List<Integer>> etablirCombinaison = etablirCombinaison(nombres, 8); for (List<Integer> combinaison : etablirCombinaison) { for (Integer i : combinaison) { System.out.print(i + " "); } System.out.println(); } } private static List<List<Integer>> etablirCombinaison(ArrayList<Integer> nombres, int nb) { List<List<Integer>> combinaisons = new LinkedList<List<Integer>>(); if (nb > 0) { ListIterator<Integer> listIterator = nombres.listIterator(); while (listIterator.hasNext()) { Integer integer = (Integer) listIterator.next(); listIterator.remove(); List<List<Integer>> etablirCombinaison = etablirCombinaison(new ArrayList<Integer>(nombres), nb - 1); for (List<Integer> combinaison : etablirCombinaison) { combinaison.add(0, integer); combinaisons.add(combinaison); } } } else { combinaisons.add(new LinkedList<Integer>()); } return combinaisons; }
5 janv. 2013 à 13:05
pourrais tu annoter ton code pour détailler le fonctionnement de chaque ligne stp, j'ai un peu de mal avec la récursivité et combinaison/combinaisons, même si globalement je comprends la démarche...