A force de voir des sources pour calculer les nb premiers, avec des tech de plus en plus STAGE voici une petite source fait en 2 min qui montre qu'on peut faire ca facilement.
Source / Exemple :
Private Function isPremier(ByVal n As Long) As Boolean
Dim i As Long
Dim racine2n As Long
'CAS DE BOARD
If n = 0 Or n = 1 Then isPremier = False: Exit Function
'SI UN POYO MET UN NOMBRE NEGATIF
If n < 0 Then n = n * -1
'ON FAIT LE TEST A CAUSE DU 2
'VU QUE LA BOUCLE FOR COMMENCE A 3
If n Mod 2 = 0 Then
If n <> 2 Then
isPremier = False
Exit Function
Else
isPremier = True
Exit Function
End If
End If
'LA RACINE CARREE DE N
racine2n = Sqr(n)
'LA BOUCLE DE TESTS
For i = 3 To racine2n Step 2
If n Mod i = 0 Then
isPremier = False
Exit Function
End If
Next i
'SI ON ARRIVE ICI C'EST QUE LE NOMBRE EST PREMIER (SAUF 2)
isPremier = True
End Function
Conclusion :
EDIT 10/12/2002 a 15:31
---Deja désole pour le triple poste :p
---Si tu passes par la Nix stp efface les 2 de trop :p
---je voulais encore dire que la version aKheNathOn
---du For i = 2 .... est bugée :p c'est pour ca que j'ai fait le IF
---bhen vi le nb 2 est premier :p mais la tu vas essayer de faire
---2 mod 2 forcement = 0 donc selon toi FAUX enfin SELON VB :p
---pour les nb > que 2 ca marche
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.