Programme permettant de factoriser des nombres composés jusqu'à 100000. J'ai voulu faire plus grand mais on perd en rapidité. Si vous pouviez mz dire ce qu'il faut faire pour gagner en rapidité sur des grands chiffres, n'hésitez pas.
Merci.
Source / Exemple :
Private Sub mnuFichierFactor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuFichierFactor.Click
Dim intNbrePrem(100000) As System.Int32
Dim x, y, intNP As System.Int32
Dim intDiviseur, intFactor, intCompteurNP As System.Int32
Dim intNombre As System.Int32 = CInt(txtNombre.Text)
Dim strNombre, strFactor As System.String
intNbrePrem(0) = 2
intNbrePrem(1) = 3
intNP = 2
lblFactor.Text = ""
For x = 5 To 99999 Step 2
intDiviseur = 0
For y = 2 To Sqrt(x) Step 1
If x Mod y = 0 Then
intDiviseur += 1
End If
Next
If intDiviseur = 0 Then
intNbrePrem(intNP) = x
intNP += 1
End If
Next
For intCompteurNP = 0 To 9591 Step 1
intFactor = 0
strFactor = ""
Do While intNombre Mod intNbrePrem(intCompteurNP) = 0
intNombre -= intNombre / intNbrePrem(intCompteurNP)
intFactor += 1
strFactor = intNbrePrem(intCompteurNP) & "^" & intFactor & "."
Loop
lblFactor.Text &= strFactor
Next
End Sub
Private Sub MenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem1.Click
txtNombre.Text = ""
lblFactor.Text = ""
End Sub
Private Sub mnuFichierQuitter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuFichierQuitter.Click
End
End Sub
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.