SAVOIR SI UN NOMBRE EST PAIR (AUTRE MÉTHODE )

hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 - 25 oct. 2002 à 16:02
cs_Dede Messages postés 61 Date d'inscription mercredi 2 janvier 2002 Statut Membre Dernière intervention 24 juillet 2006 - 30 oct. 2002 à 11:33
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/4860-savoir-si-un-nombre-est-pair-autre-methode

cs_Dede Messages postés 61 Date d'inscription mercredi 2 janvier 2002 Statut Membre Dernière intervention 24 juillet 2006
30 oct. 2002 à 11:33
Juste une petite remarque :
Obtimiser à tout prix, c'est bien, mais le VB n'est pas fait pour ça. De plus, gagner quelques milisecondes par optimisation du code c'est bien, mais dans le cadre d'une entreprise, si la personne qui doit faire évoluer le soft perd 2 heures à cmprendre... ou est le gain ? Sinon, bravo !
thejojo79 Messages postés 44 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 31 mars 2003
26 oct. 2002 à 14:44
A mon avis la comparaison du dernier chiffre n'est pas la plus economique ! Fair des tests ca prend du temps !!!
cs_Apophis Messages postés 75 Date d'inscription samedi 16 juin 2001 Statut Membre Dernière intervention 16 septembre 2006
26 oct. 2002 à 13:45
Tu peux aussi regarder le dernier chiffre et regarder si c'est 0,2,4,6 ou 8 dans quels cas le nombre sera pair. Comme cela savoir si 4564654653132415646543521354564653121543 est pair prend une seconde et ne nécessite aucune division.
C'est plus économique pour le processeur !!!
celiphane Messages postés 466 Date d'inscription samedi 16 février 2002 Statut Membre Dernière intervention 20 avril 2007
26 oct. 2002 à 02:09
Joli Warny !!!
cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015
25 oct. 2002 à 20:18
re salut,
en fait j'ai pensé que le mod était trop lent. En binaire les nombre paire finissent par 0, il suffit donc de masquer par le bit de plus faible niveau (donc par 1)
Si vous remplacez la fonction mod par un and bit à bit ça va infiniment plus vite soit :
EstPaire ((pVal And 1) 0)
thejojo79 Messages postés 44 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 31 mars 2003
25 oct. 2002 à 18:33
c vrai pour le iif mais bon pour un neofite ton code n'est pas forcement explicite alors que le iif ajoute de la lisibilite ! Mais il est vrai que je n'y ait pas penser au depart ! Donc Bien vu Warny
cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006
25 oct. 2002 à 17:56
Warny, chavais pas que VB pouvais faire ça. g pas testé mais ça ressemble dans le fonctionnement du C : EstPaire=((pVal%2)==0)....
mais ça doit être plus économique niveau proc' que le iif... bravo
Bricomix Messages postés 340 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 14 février 2005
25 oct. 2002 à 17:16
Merci thejojo79, ça va me servir !!!

Bricomix
cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015
25 oct. 2002 à 17:00
Plus simple, plus rapide, le iif bouffe du temps donc

Public Function EstPaire(pVal As Long) As Boolean
EstPaire ((pVal Mod 2) 0)
End Function
thejojo79 Messages postés 44 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 31 mars 2003
25 oct. 2002 à 16:38
Merci DARKSIDIOUS je vois que tu pense comme moi un bon programme est programme simple !
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
25 oct. 2002 à 16:35
Code clair, concis, efficace, simple et pratique.
Je résume donc : GENIAL

9/10

DARK SIDIOUS
thejojo79 Messages postés 44 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 31 mars 2003
25 oct. 2002 à 16:12
Oui mais ma methode est la plus economique pour le processeur !!! Mais bon avec Vb on n'est plus a ca pres !
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
25 oct. 2002 à 16:02
on peut aussi faire :
if pval/2 int(pval/2) then etatpval paire else etatpval = impaire
Rejoignez-nous