OVH Cloud OVH Cloud

Nombres premiers

10 réponses
Avatar
dcr
Bonjour,

Connaissez vous une fonction ou une routine VB qui
pourrais me permettre de savoir rapidement si le nombre
saisi dans ma cellule A1 est un nombre premier

Merci de votre aide

David

10 réponses

Avatar
E KERGRESSE
Bonjour,

Va voir sur le site de Frédéric SIGONNEAU.

http://perso.wanadoo.fr/frederic.sigonneau/

Cordialement.



"dcr" a écrit dans le message de news:
1c4c601c421fa$ffdeab20$
Bonjour,

Connaissez vous une fonction ou une routine VB qui
pourrais me permettre de savoir rapidement si le nombre
saisi dans ma cellule A1 est un nombre premier

Merci de votre aide

David


Avatar
Vincent.
Ca existe vraiment une routine pareille ???

-----Message d'origine-----

Bonjour,

Va voir sur le site de Frédéric SIGONNEAU.

http://perso.wanadoo.fr/frederic.sigonneau/

Cordialement.



"dcr" a écrit dans
le message de news:

1c4c601c421fa$ffdeab20$
Bonjour,

Connaissez vous une fonction ou une routine VB qui
pourrais me permettre de savoir rapidement si le nombre
saisi dans ma cellule A1 est un nombre premier

Merci de votre aide

David



.




Avatar
E KERGRESSE
Salut Vincent,

Visiblement oui, sur le site de Frédéric, regarde dans Fonctions de Calcul,

NbPremiers.bas.

La rubrique contient 3 programmes développés Par Laurent LONGRE, Yves
BENISTY et Benoît MARCHAND.

Cordialement.





"Vincent." a écrit dans le message de
news: 17c6601c421ff$d4ad49c0$
Ca existe vraiment une routine pareille ???

-----Message d'origine-----

Bonjour,

Va voir sur le site de Frédéric SIGONNEAU.

http://perso.wanadoo.fr/frederic.sigonneau/

Cordialement.



"dcr" a écrit dans
le message de news:

1c4c601c421fa$ffdeab20$
Bonjour,

Connaissez vous une fonction ou une routine VB qui
pourrais me permettre de savoir rapidement si le nombre
saisi dans ma cellule A1 est un nombre premier

Merci de votre aide

David



.




Avatar
Nicolas B.
Salut,

Pour montrer qu'un nombre N est premier, il suffit de vérifier qu'il n'est
divisible par aucun entier entre 2 et RACINE(N). C'est donc assez facile à
programmer.


A+
--
Nicolas B.


Ca existe vraiment une routine pareille ???

-----Message d'origine-----

Bonjour,

Va voir sur le site de Frédéric SIGONNEAU.

http://perso.wanadoo.fr/frederic.sigonneau/

Cordialement.



"dcr" a écrit dans le message
de news: 1c4c601c421fa$ffdeab20$
Bonjour,

Connaissez vous une fonction ou une routine VB qui
pourrais me permettre de savoir rapidement si le nombre
saisi dans ma cellule A1 est un nombre premier

Merci de votre aide

David



.





Avatar
chrisn
bonjour dcr,

Connaissez vous une fonction ou une routine VB qui
pourrais me permettre de savoir rapidement si le nombre
saisi dans ma cellule A1 est un nombre premier

Rapidement, ça dépend de la taille du nombre. Mais basiquement :


Sub quelconque()
a=0
b=1
premier="faux"
c=int(cells(x,y)/2)
a=mod(cells(x,y);2)
do while b < c
if a = 0 then
b = c
else
a=mod(cells(x,y);b)
b = b + 2
end if
loop
if a = 0 then
premier = "vrai"
end if
end sub


--
chrisn
mettre le bon fai, libertysurf pour me répondreDavid

Avatar
Nicolas B.
Dans le même genre que les procédures de LL :

Sub EstPremier()
n = Cells(1, 1)
If n = 2 Then MsgBox "Premier": End
i = 2
While i < n ^ 0.5 + 1
If n / i = Int(n / i) Then MsgBox "Pas premier": End
i = i + 1
Wend
MsgBox "Premier"
End Sub


A+
--
Nicolas B.



Salut,
Salut également,


Pour montrer qu'un nombre N est premier, il suffit de vérifier qu'il
n'est divisible par aucun entier entre 2 et RACINE(N).

Oups :) racine(n) pas moitié...

Alzheimer me guette :o))


--
chrisn
mettre le bon fai, libertysurf pour me répondre



Avatar
chrisn

Salut,
Salut également,


Pour montrer qu'un nombre N est premier, il suffit de vérifier
qu'il n'est

divisible par aucun entier entre 2 et RACINE(N).

Oups :) racine(n) pas moitié...

Alzheimer me guette :o))


--
chrisn
mettre le bon fai, libertysurf pour me répondre

Avatar
Vincent.
Dur pour les grands nombres !

-----Message d'origine-----

Salut,
Salut également,


Pour montrer qu'un nombre N est premier, il suffit de
vérifier


qu'il n'est
divisible par aucun entier entre 2 et RACINE(N).

Oups :) racine(n) pas moitié...

Alzheimer me guette :o))


--
chrisn
mettre le bon fai, libertysurf pour me répondre

.




Avatar
dcr
MERCI A TOUS
-----Message d'origine-----
bonjour dcr,

Connaissez vous une fonction ou une routine VB qui
pourrais me permettre de savoir rapidement si le nombre
saisi dans ma cellule A1 est un nombre premier

Rapidement, ça dépend de la taille du nombre. Mais

basiquement :


Sub quelconque()
a=0
b=1
premier="faux"
c=int(cells(x,y)/2)
a=mod(cells(x,y);2)
do while b < c
if a = 0 then
b = c
else
a=mod(cells(x,y);b)
b = b + 2
end if
loop
if a = 0 then
premier = "vrai"
end if
end sub


--
chrisn
mettre le bon fai, libertysurf pour me répondreDavid

.




Avatar
chrisn
en plus mon anglais pour fonction est à réviser :

Sub quelconque()
a=0
b=1
premier="faux"


c=int(sqr(cells(x,y)))
aÎlls(x,y) mod 2
'traite dès la première occurence 0, 1, 2 et les autres nombres
pairs

do while b < c
if a = 0 then
b = c
else


aÎlls(x,y) mod b

b = b + 2
end if
loop
if a = 0 then
premier = "vrai"
end if


'et pour récupérer en b2
cells(2, 2).value = premier

end sub

Autant ne pas laisser traîner du faux


--
chrisn
mettre le bon fai, libertysurf pour me répondreDavid