PREMIER, DÉCOMPOSE UN NOMBRE EN FACTEURS PREMIERS, PAR EX 12=2*2*3

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 31 mai 2003 à 15:16
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 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.

https://codes-sources.commentcamarche.net/source/7284-premier-decompose-un-nombre-en-facteurs-premiers-par-ex-12-2-2-3

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
31 mai 2003 à 15:16
cette fonction pourrait t'etre utile.......

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.......
Rejoignez-nous