begin process at 2012 02 05 04:18:26
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

.Net

 > PAIR-IMPAIR RÉCURSIF

PAIR-IMPAIR RÉCURSIF


 Information sur la source

Note :
1 / 10 - par 1 personne
1,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :.Net Classé sous :nombre, chiffre, pair, impair, récrusif Niveau :Débutant Date de création :16/01/2003 Date de mise à jour :16/01/2003 09:38:14 Vu :11 621

Auteur : loraine9999

Ecrire un message privé
Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

 Description

détermination de la parité d un nombre sans utiliser le modulo

Source

  • #pragma hdrstop
  • #pragma argsused
  • #include <conio.h>
  • #include <iomanip.h>
  • #include <iostream.h>
  • int pairImpair(int n) ;
  • void main(void)
  • {
  • int nombre ;
  • int ret ;
  • cout << "entrez un nombre : " ;
  • cin >> nombre ;
  • ret = pairImpair(nombre) ;
  • if (ret == 1)
  • cout << endl << "le nombre " << nombre << " est impair ! " ;
  • else
  • cout << endl << "le nombre " << nombre << " est pair ! " ;
  • cout << endl << "appuyer sur une touche pour terminer..." ;
  • getch() ;
  • }
  • //---------------------------------------------------------------------------
  • int pairImpair(int n)
  • {
  • if (n == 0 || n == 1)
  • return n ;
  • return pairImpair(n-2) ;
  • }
#pragma hdrstop

#pragma argsused

#include <conio.h>
#include <iomanip.h>
#include <iostream.h>

int pairImpair(int n) ;

void main(void)
    {
    int nombre ;
    int ret ;

    cout << "entrez un nombre : " ;
    cin >> nombre ;

    ret = pairImpair(nombre) ;

    if (ret == 1)
        cout << endl << "le nombre " << nombre << " est impair ! " ;
    else
        cout << endl << "le nombre " << nombre << " est pair ! " ;

    cout << endl << "appuyer sur une touche pour terminer..." ;
    getch() ;
    }
//---------------------------------------------------------------------------

int pairImpair(int n)
    {
    if (n == 0 || n == 1)
        return n ;

    return pairImpair(n-2) ;
    }



 Sources du même auteur

MULTIPLICATION MATRICES
SYRACUSE
PGCD RÉCURSIF
Source avec Zip FIBONACCI RÉCURSIF
Source avec Zip FACTORIELLE D'UN NOMBRE (RÉCURSIF)

 Sources de la même categorie

Source avec Zip Source avec une capture ANALYSEUR LEXICAL par Donald180v
Source avec Zip Source avec une capture MAP_MAKER_JEU par seekplus
Source avec Zip Source avec une capture Source .NET (Dotnet) EMISSION D'UN OCTET SUR LE PORT SÉRIE - CLASSE SERIALPORT par jmchatelet01
Source avec Zip Source .NET (Dotnet) RESOLV EQU DE DEGRES N par darckangel731
Source avec Zip Source avec une capture Source .NET (Dotnet) INTEROP XCHAT / .NET : CHARGEUR DE PLUGINS MANAGÉS par TeBeCo

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture TROUVER LES NOMBRES PREMIERS INFÉRIEURS À UNE LIMITE DONNÉE par angrevol
Source avec Zip TRANSFORMER UN ENTIER EN DEUX NOMBRES COMPOSÉ DES MEMES CHIF... par thebroyeur
Source avec une capture FACTORISATION D'UN ENTIER EN PRODUIT DE NOMBRES PREMIERS AVE... par darkor
Source avec Zip CONVERTISSEUR NOMBRE ARABE => NOMBRE ROMAIN (1 À 4999) par Calli95
[C/C++] DÉTERMINER LES DIVISEURS D'UN NOMBRE AVEC DES INFORM... par soso62fr

Commentaires et avis

Commentaire de GoldenEye le 16/01/2003 16:45:20

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

Commentaire de trinitacs le 16/01/2003 19:14:54

loraine9999 &gt;&gt; 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.

Commentaire de GoldenEye le 16/01/2003 20:02:35

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...

Commentaire de trinitacs le 18/01/2003 23:52:56

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à

Commentaire de dominion le 06/09/2004 22:25:16

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...)

Commentaire de tit_toinou le 18/12/2007 18:43:31

Salut,
La recursivité est tout à fait inutile ici !
L'opérateur & fera le travail beaucoup plus vite.

Commentaire de turnerom le 19/03/2008 15:51:09 1/10

Je me demande si on peut encore faire - rapide.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Strcat avec un chiffre entier [ par Athanor ] Je voudrais concaténer une chaine avec un nombre entier, je sais bien questrcat(nomchaine, 123);ne marche pas, mais même en transformant mon chiffre e Generer un nombre aleatoir en C [ par Snoupy ] Salut à tous, j'ai besoin de générer plusieur nombre aleatoir, mais la source que j'utilise, m'oblige à attendre une seconde entre chaque nombre, car Sélectionner un chiffre dans un nombre ? [ par Telepathmaster ] Bonjour, j'aimerai savoir si il est possible de d&#233;composer un nombre comme 21365489 de fa&#231;on &#224; pouvoir&nbsp; avoir le premier chiffre d Nombre Secret `(Probleme de Proba...) [ par albert0 ] Bonsoir, Voila, je suis en train de faire un algorithme, le but est est de trouve un "Nombre secret" ce nombre secret est gener&#233; par un Random: Trouver le nombre de chiffre dans une chaîne de caractère [ par Dark Revan ] Bonjour, Je suis un débutant en C++ je veux trouver le nombre de chiffre dans une chaîne de caractère à l'aide d'un For et je me demandais s'il y a Chiffre ou lettre ? [ par ralebole ] Bonjour a tousJe voudrais savoir comment faire pour savoir si c'est un nombre ou une chaine des lettresExemple char petibuf[10];la personne rentre nor ofstream, positionnement [ par Metrox ] Salut à tous,mon fichier se compose de la sorte:1 2 3 4 ... (nombre inconnu de chiffre)1' 2' 3' 4' ... (nombre inconnu de chiffre)1'' 2'' 3'' 4'' ... savoir si un string n'est que numérique [ par nord666 ] Bonjour tout le monde!À première vue, utiliser un String pour stocker un chiffre est assez inscenser. Sauf lorsque le nombre maximal de caractère pour problème avec pow [ par patatracq1 ] [color=red]Patrick DUBOIS[/color][color=orange][/color] bonjour à tous , voici mon problème , j'ai utilisé pow pour calculer la puissance d'un nombr Comment retrancher toujours le tout dernier chiffre et garder le reste du nombre original [ par Lunasoft ] Salut! J'ai une question liée à ceci. Je vous demande de m'aider. Car j'ai écrit les codes ci-dessous et me reste quelques lacunes. J'ai trois edits


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,872 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales