Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Nombre premier

4 réponses
Avatar
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

4 réponses

Avatar
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" a écrit dans le message de news: %
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



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

Serge



"garnote" a écrit dans le message de news:
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" a écrit dans le message de news: %
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







Avatar
Jp Pradier
Bonjour rouge

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

j-p

"rouge" a écrit dans le message de news:
%
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



Avatar
jojolapin
"Jp Pradier" a écrit dans le message
de news:
Bonjour rouge

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

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