PREMIER, DÉCOMPOSE UN NOMBRE EN FACTEURS PREMIERS, PAR EX 12=2*2*3
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
31 mai 2003 à 15:16
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
31 mai 2003 à 15:16
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
31 mai 2003 à 15:16
Function Decompose(ByRef facteur() As Long, ByVal n As Long) As Integer
Dim d As Long
d = 3
Dim i As Integer
i = 0
While (n Mod 2 = 0)
ReDim Preserve facteur(i)
facteur(i) = 2
i = i + 1
n = n / 2
Wend
While (d ^ d <= n)
If (n Mod d = 0) Then
ReDim Preserve facteur(i)
facteur(i) = d
i = i + 1
n = n / d
Else
d = d + 2
End If
Wend
If n > 1 Then
ReDim Preserve facteur(i)
facteur(i) = n
i = i + 1
End If
Decompose = i
End Function
Private Sub Form_Load()
Dim facteurs() As Long
a = Decompose(facteurs, 198)
End Sub
en sortie, on recupere la liste des facteurs premiers dans le tableau facteurs, et la fonction renvoie le nombre d'elements du tableau.
disons que ta source fonctionne, mais n'est pas simplement réutilisable.......