bonjour,

J'ai écrit une méthode pour générer une liste de caractère sans répétition. Dans cette méthode (qui fonctionne) je calcule la taille de de ma boucle while pour avoir le nombre de combinaison possible avec une variable

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
long numberCombination = factorial(alpha.Count - 1) / factorial(NumberOfChar - 1) * factorial((alhpa.Count - 1) - (NumberOfChar - 1));
J'ai écrit la méthode factorial au dessus de la méthode pour calcule la taille de la liste de caractère comme ceci.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
private long factorial(int x)
        {
            if (x == 0) return 1;
            if (x < 2) return 1;
            return x * factorial(x - 1);
        }
Quand ma liste est avec ces caractère "abcdefghijklmnopqrstuvwxyz" cela fonctionne.


Par contre quand je rajoute plus de caractère comme par exemple "abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_+" ma variable numberCombination vaut 0 et ma boucle ne s’exécute pas et rien est générer.