Nombre premier

Le
rouge
Bonsoir
je suis nouveau sur le forum et je cherche s'il est possible de créer un
programme sur excel pour déterminer si un nombre est premier
je sais le faire avec une boucle et modulo
je ne vois pas comment faire avec excel
je ne veux pas utiliser pour l'instant VBA
merci d'avance
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
garnote
Le #4959951
Salut Jean-Marc,

Colle cette fonction dans un module standard.
Pour l'utiliser, entre une nombre entier positif dans une cellule,
par exemple en A1, et dans une autre cellule, entre la formule
= estpremier(A1).

Function EstPremier(n As Long) As String
'Cette fonction permet de savoir si
'un nombre entier est premier ou pas.
'Auteur : Serge Garneau
Dim i As Long, d As Long, p As Boolean
Dim r As Long
If n = 1 Then
EstPremier = "non"
Exit Function
End If
If n = 2 Or n = 3 Then
EstPremier = "oui"
Exit Function
End If
d = 2
p = True
r = n Mod d
If r = 0 Then
p = False
Else
d = d + 1
r = n Mod d
End If
If r = 0 Then
p = False
Else
d = d + 2
i = 1
End If
Do While d ^ 2 <= n And p
r = n Mod d
If r = 0 Then
p = False
ElseIf i Mod 2 <> 0 Then
i = i + 1
d = d + 2
Else
i = i + 1
d = d + 4
End If
Loop
If p Then EstPremier = "oui" Else EstPremier = "non"
End Function

Serge




"rouge"
Bonsoir
je suis nouveau sur le forum et je cherche s'il est possible de créer un programme sur excel pour déterminer si un nombre est
premier
je sais le faire avec une boucle et modulo
je ne vois pas comment faire avec excel
je ne veux pas utiliser pour l'instant VBA
merci d'avance



garnote
Le #4959931
Oups!
Je n'avais pas remarqué :
« je ne veux pas utiliser pour l'instant VBA »

Serge



"garnote"
Salut Jean-Marc,

Colle cette fonction dans un module standard.
Pour l'utiliser, entre une nombre entier positif dans une cellule,
par exemple en A1, et dans une autre cellule, entre la formule
= estpremier(A1).

Function EstPremier(n As Long) As String
'Cette fonction permet de savoir si
'un nombre entier est premier ou pas.
'Auteur : Serge Garneau
Dim i As Long, d As Long, p As Boolean
Dim r As Long
If n = 1 Then
EstPremier = "non"
Exit Function
End If
If n = 2 Or n = 3 Then
EstPremier = "oui"
Exit Function
End If
d = 2
p = True
r = n Mod d
If r = 0 Then
p = False
Else
d = d + 1
r = n Mod d
End If
If r = 0 Then
p = False
Else
d = d + 2
i = 1
End If
Do While d ^ 2 <= n And p
r = n Mod d
If r = 0 Then
p = False
ElseIf i Mod 2 <> 0 Then
i = i + 1
d = d + 2
Else
i = i + 1
d = d + 4
End If
Loop
If p Then EstPremier = "oui" Else EstPremier = "non"
End Function

Serge




"rouge"
Bonsoir
je suis nouveau sur le forum et je cherche s'il est possible de créer un programme sur excel pour déterminer si un nombre est
premier
je sais le faire avec une boucle et modulo
je ne vois pas comment faire avec excel
je ne veux pas utiliser pour l'instant VBA
merci d'avance







Jp Pradier
Le #4959911
Bonjour rouge

En voici un sans vba :
http://cjoint.com/?khu43DDPRa

j-p

"rouge" %
Bonsoir
je suis nouveau sur le forum et je cherche s'il est possible de créer un
programme sur excel pour déterminer si un nombre est premier
je sais le faire avec une boucle et modulo
je ne vois pas comment faire avec excel
je ne veux pas utiliser pour l'instant VBA
merci d'avance



jojolapin
Le #4978031
"Jp Pradier" de news:
Bonjour rouge

En voici un sans vba :
http://cjoint.com/?khu43DDPRa

il y a un problème si tu mets 2.


Publicité
Poster une réponse
Anonyme