Bonjour,
j'ai un tableau pour le résultat:
divideBy = [ [], [], [0,0] ].

J'ai un autre tableau:
primes = [ 0, 0, 2, 3, 5, 7 ] // ne pas se préoccuper des 0, je ne m'en sert pas pour l'instant.
Puis je vais incrémenter sur une plage de chiffres de min à max en les factorisant sur les chiffre de "primes".

c'est à dire, en considérant min = 2 et max = 6, je vais tenter de de voir si 6 % 2 == 0, si oui, faire quelque chose. je voudrais que le code refasse ce même quelque chose tant que par exemple 6 % 2 == 0. En même temps un compteur compte le nombre de passage dans la boucle while. Enfin lorsque 6 % 2 == 1, il sortirait de la boucle en faisant un PUSH de la valeur du compteur dans le dernier tableau de divideBy.

Pour une liste de 2 à 6 voila ce que ça donnerait au final:
Nom : process2.JPG
Affichages : 307
Taille : 12,1 Ko

voici mon code qui ne fonctionne pas, ou est le problème ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 let primes = [ 0, 0, 2, 3, 5, 7 ];
let dividedBy = [[],[]]
let compte = 0;
 
    for (let n = min; n <= max; n++) {
      dividedBy.push([0,0]);   // pour chaque n j'ajoute un nouveau sous tableau
      for (let k = 2; k <= primes.length; k++) {  
 
      while (n % primes[k] == 0) {
        let n2 = n / primes[k];
        compte += 1
        n = n2;
        k--;
      }
        dividedBy[dividedBy.length-1].push(compte)
        compte = 0
     }
    }