Ordinateur devin

Soyez le premier à donner votre avis sur cette source.

Vue 4 131 fois - Téléchargée 212 fois

Description

L'ordinateur devine le nombre que vous avez choisi(N compris entre 1 et 100) en vous demandant simplement si ce nb est présent ou non dans une série de tableaux qui vous sont présentés.Le secret du truc est le suivant:le nb est exprimé en binaire,si le bit n° x est à 1,le nb figure dans le tableau n° x,il ne figure pas dans les autres tableaux.Il y a 7 tableaux(N<127),si par ex: N=5, 5 est présent dans les tableaux 1 et 3,en effet(en commençant par la droite): 0 0 0 0 1 0 1=5.Il ne reste plus qu'à faire une conversion binaire-décimal pour annoncer le nb choisi.
Le programme utilise VisualC++ 6.0 et les MFC,tant pis pour les nombreux MFCphobes!Une particularité:je me sers de la commutation entre 2 vues d'une même fenêtre(voir fonction SwitchToView()).
Tout est dans le dossier"zippé".

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
43
Date d'inscription
mardi 30 mars 2004
Statut
Membre
Dernière intervention
7 octobre 2006

huhuhu ouai je me suis un peu embrouillé avec droite et gauche :p
101101 >> 1 -> 10110
101101 << 1 -> 1011010

vala

>> << fonctionne sur tout les nombres entier ou pas, mais ne fait un multiplication ou division que sur les entier vu le format de codage binaire d'un entier...
a noter que le format d'un entier signé est le complément à 2 (ba normalement)
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

ok, ça me va, mais si ça vient de la MSDN, je pense que c'est surtout valable pr le duo wintel, on change pas une équipe qui gagne du pognon ^^
Messages postés
921
Date d'inscription
vendredi 20 décembre 2002
Statut
Membre
Dernière intervention
23 septembre 2010

Hum... selon la MSDN, il disent bien que '<<' multiplie et que '>>' divise. Donc à mon avis, ça dépend pas du système...
Saros
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

ben parce que selon que c'est du little ou du big endian, le bit de poids fort est pas du même côté. exemple:

si ceci est en big, 10010
alors 01001 en little est le même nombre, mais les bits sont pas ds le même ordre!

donc si tu dis:

101 << 2, ça donnera tjs 10100, ou bien selon le système de codage ça donnera soit 10100, soit 00101 ?
Messages postés
921
Date d'inscription
vendredi 20 décembre 2002
Statut
Membre
Dernière intervention
23 septembre 2010

lol
Il s'est juste embrouillé dans les mots droite/gauche, mais à part ça c'est bien i << 5 qui multiplie par 2^5 et vice-versa.
Et puis :
"alors l'opéro <<, il faut d'office une multiplication, ou d'office un décalage vers la droite? "
J'ai pas compris...
Afficher les 12 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.