PAIR-IMPAIR RÉCURSIF

cs_GoldenEye Messages postés 527 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 6 octobre 2008 - 16 janv. 2003 à 16:45
turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 - 19 mars 2008 à 15:51
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/10288-pair-impair-recursif

turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 1
19 mars 2008 à 15:51
Je me demande si on peut encore faire - rapide.
tit_toinou Messages postés 49 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 16 juillet 2008
18 déc. 2007 à 18:43
Salut,
La recursivité est tout à fait inutile ici !
L'opérateur & fera le travail beaucoup plus vite.
cs_dominion Messages postés 230 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 15 mai 2008
6 sept. 2004 à 22:25
GoldenEye : mets plutôt inline BOOL estPair pour gagner un peu de place mémoire (ben oui vu qu'il n'y a que 2 réponses...)
trinitacs Messages postés 249 Date d'inscription mardi 16 juillet 2002 Statut Membre Dernière intervention 7 août 2003 2
18 janv. 2003 à 23:52
Je n'ai pas dis non plus que la récursivité était à proscrire. J'ai aussi dis que ça permettait parfois de résoudre simplement des problèmes comme tu l'as signalé.

Voilà
cs_GoldenEye Messages postés 527 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 6 octobre 2008 4
16 janv. 2003 à 20:02
Trinitacs : attention, la récursivité est parfois optimale : ex : l'algorithme de tri QuickSort dont la complexité en Nlog(N) est inférieure à celle de toutes les méthodes itératives. Par ailleurs certains problèmes n'ont pas de solution connue en itératif ou très complexe (ce qui ne veut pas dire qu'elle n'existe pas) ex : parcours d'un arbre, algorithmes d'IA comme Alpha Beta etc...
trinitacs Messages postés 249 Date d'inscription mardi 16 juillet 2002 Statut Membre Dernière intervention 7 août 2003 2
16 janv. 2003 à 19:14
loraine9999 >> A part la récursivité tu fais quoi? Je te signale juste si tu ne le c'est pas mais c qqch de pas très rapide. Mais parfois ça permet de résoudre des problèmes très simplement. Donc il ne faut pas en faire d'overdose :)

J'en ai une autres c'est le modulo de 2 mais faire un modulo est une opération longue pour les pross. Mais bon la méthode avec l'utilisation de l'opérateur & est bien plus rapide.
cs_GoldenEye Messages postés 527 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 6 octobre 2008 4
16 janv. 2003 à 16:45
J'ai une autre méthode bien plus puissante qui est utilisée pour tout ce qui est temps réel (jeux par exemple):

inline int estPair(int nombre) /* 0 si le nombre est pair et 1 sinon */
return (nombre&1);

Cherchez pourquoi ! (pensez à la base 2 et à l'opération ET logique...)

On peut étendre le calcul à la détermination de l'existence d'un multiple de 2 puissance n
Rejoignez-nous