Combinaisons de cartes à jouer

Discussion générale entre passionnés et amateurs de mathématiques sur des sujets mathématiques variés
Vince35
Messages: 3
Enregistré le: 05 Avr 2010, 10:02

Combinaisons de cartes à jouer

par Vince35 » 05 Avr 2010, 10:06

Bonjour !

Je tombe sur ce forum un peu par hasard. Pas du tout matheux, mais passionné par les sciences, j'ai deux questions bassement intéressées (désolé) : si parmi vous quelqu'un a les réponses, je serais super ravi.

Voilà, dans un jeu de 52 cartes, combien y a-t-il de combinaisons de 3 cartes possibles ? Très basiquement, je me suis dit 52*51*50 mais...

Si je veux connaître toutes ces combinaisons, existe-t-il un logiciel pour me les sortir ?

Merci pour vos réponses.



benekire2
Membre Transcendant
Messages: 4678
Enregistré le: 08 Avr 2009, 16:39

par benekire2 » 05 Avr 2010, 10:24

déjà ça va dépendre de si tu les veut dans l'ordre ou si le désordre te vas aussi.

Je suppose que tu te fiche de l'ordre.

on est d'accord alors que RVD c'est pareil que RDV ..

Il faut que tu divise ton 52*51*50 par 3! ( nombre de permutations d'un ensemble de 3 éléments 3!=3*2*1)

Tu as donc 22100 mains possibles dans le désordre et 132600 mains dans l'ordre.

Après pour complexifier, on peut d'intéresser au nombre de mains que tu peut faire en considérant que Roi de carreau et Dame cœur <=> Roi de pique et Dame de trèfle

Vince35
Messages: 3
Enregistré le: 05 Avr 2010, 10:02

par Vince35 » 05 Avr 2010, 10:49

Merci Benekire !

Connais tu un logiciel pour me sortir toutes ces combinaisons ?

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 05 Avr 2010, 10:58

salut,

T'as presque raison, en fait on sen tape de l'ordre donc si tu as
as de coeur, as de pique, as de trefle,
c'est la meme chose que
as de pique, as de trefle, as de coeur,
...
etc.
Donc en fait, t'as 6 permutations qui donnent la même chose.
Du coup, tu as 52*51*50/6 mains possibles.

(ca equivaut a dire Combinaison de 3 parmi 52)

Ca te donne 22100 possibilités.

Pour le logiciel, je sais pas si ca vaut le coup de chercher, ca se fait en 2-2.
voici un code bidon qu'il faut compiler, jtaurais bien filé lexe, mais chui sous linux...et ca tournerait pas sous windows :-).

Choppe toi un IDE et copie colle le code...bref, a toi de suer un petit peu!
Code: Tout sélectionner
#include
#include
using namespace std;
int main(){

   vector vCC;
   vCC.push_back("coeur");
   vCC.push_back("pique");
   vCC.push_back("carreau");
   vCC.push_back("trefle");
   
   vector vNC;
   vNC.push_back("deux");
   vNC.push_back("trois");
   vNC.push_back("quatre");
   vNC.push_back("cinq");
   vNC.push_back("six");
   vNC.push_back("sept");
   vNC.push_back("huit");
   vNC.push_back("neuf");
   vNC.push_back("dix");
   vNC.push_back("valet");
   vNC.push_back("dame");
   vNC.push_back("roi");
   vNC.push_back("as");
   
   
   unsigned int vNC_size = vNC.size();
   unsigned int vCC_size = vCC.size();
   
   vector vConstruit;
   for(unsigned int i =0; i < vNC_size;i++){
      for(unsigned int j = 0; j < vCC_size;j++){
         vConstruit.push_back(vNC[i]+" de "+vCC[j]);
      }
   }
   
   unsigned int vConstruit_size = vConstruit.size();
   unsigned int z = 0;
   for(unsigned int i=0;i<vConstruit_size-2;i++){
      for(unsigned int j=i+1;j<vConstruit_size-1;j++){
         for(unsigned int k=j+1;k<vConstruit_size;k++){
            cout<<"("<<vConstruit[i]<<","<<vConstruit[j]<<","<<vConstruit[k]<<")"<<endl;
            z++;
         }   
      }
   }
   cout<<"nbCombo="<<z<<endl;   
}


edit: gratté entre temps lol
la vie est une fête :)

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 05 Avr 2010, 11:07

jen profite pour rajouter que du coup, si tu es un peu feignant des combinaisons,

Roi de carreau et Dame cœur Roi de pique et Dame de trèfle
ca signifie des que on trouve roi de carreau et dame de coeur, alors on sarrete, car ca equivaut a roi de pique et dame de trefle.
On comptera donc que roi de pique et dame de trefle.

Il suffit decrire un ptit bout de code stupide du style
Code: Tout sélectionner
if(vConstruit[i]=="roi de carreau"){
   if(vConstruit[j] == "dame de coeur" || vConstruit[k]=="dame de coeur"){
      continue;
   }
}
if(vConstruit[j]=="roi de carreau"){
   if(vConstruit[i] == "dame de coeur" || vConstruit[k]=="dame de coeur"){
      continue;
   }
}
if(vConstruit[k]=="roi de carreau"){
   if(vConstruit[j] == "dame de coeur" || vConstruit[i]=="dame de coeur"){
      continue;
   }
}


cqui est moche, non optimisé, mais satisfaisant :)
la vie est une fête :)

Vince35
Messages: 3
Enregistré le: 05 Avr 2010, 10:02

Merci !

par Vince35 » 05 Avr 2010, 11:29

Merci à vous deux, incroyable la rapidité des réponses !

Amitiés,

Vince.

 

Retourner vers ⚜ Salon Mathématique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 15 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite