Problème sur un algorithme

Bonjour,
slt tt le monde ca fait un grand moment que cherche a touver un algorithme mais je arrive pas ,je sais po pourkoi ,a premier vue il doit pas etre tres dur mais moi je bogue completement ,alors c vous pourraier m'aider ou me donner juste une aide commet faire,
voila le probleme :
suppose que tu as n urnes (sac..) identique et n balles differentes et tu veut avoir tt les cas possible de distribution de ces balle sur ses urnes , exemple
c tu as 2 urnes alors tu as 2 balles ----> 2 cas :
1 cas : urnes 1 contient la balle 1 et l 'urne 2 contient la balle 2 (ou contrire )
2 cas :urne 1 contient les deux balle (c pareil que urne 2 contient les 2 balle puisque identique )

pour 3 urnes et 3 balles on a 5 cas
pour 4 on a 15 cas
pour 5 on a 40 cas

merci d'avance pour votre aide
Configuration: Windows XP
Firefox 1.5.0.9

6 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour
    tout d'abord t'a une question qui @`|[`\}=}#{[|#` "**
    Ensuite voila une piste :
    *le programme que vous desirez utilise la formule / nCp / alors divise ton algo en parties
    - calcul de factorielle
    - calcul de Cp = n!/(p!*(n-p)!)
    - affichage
    1. bjr
      cette astuce consiste a utiliser le theoreme de berlouni
      c'est de la probabilite
      selon les cas que tu as tu vas reagir et par la suite ecrire ton programme
      n:le nombre des urne
      p: le nombre des balles
      et tu applique le theoreme
      je ponse que c'est facille par la suite
      voila mon email pour plus d'informations
      kamellloo@yahoo.fr
      1. slt
        je cherche a le codé en C

        pour la prtie calcul de nombre de cas j ai fait deja ca , merci The F comme meme pour ta reponse ,
        moi je cherche a affecter pour chaque cas les balle et suvgarder tt les cas ,pour pour pouvoir les afficher c-a-d si je veut verifier les belle de 1 er cas il doit m afficher que j ai la belle 1 dans l 'urnes 1 et la belle 2 dans l urne 2;

        pour 3 urnes et 3 balle c 5 cas •

        cas 1 • U1=(balle1), U2=(balle 2), U3=(belle 3),
        cas 2• U1=(1,2), U2=(3),
        cas 3• U1=(1,3), U2=(2),
        cas4• U1=(2,3), U2=(1),
        cas 5• U1=(1,2,3),

        pour ma part moi j ai consederé les cas comme des sequence alors j essyer de le faire sous forme de structure avec des place pour mettre les balles

        juste pour rappel llaffecation U1=(1,2) ,U2=( ) ,U3=(3) , et pariel que U1 =( ) , S2=(1,2) ,U3=(3)
        j espere ke c clair maintenant
        merci ,encore
        1. slt tt le monde
          j espere ke vous avez au moins compris le probleme
          tout aide sera la bien venu
          merci
          1. Salut
            Pas la peine de compliquer le programme avec des struct et tas d'autre choses
            il faut considerer seulement ce qu'on veut faire :: afficher tout les cas possibles :: donc il serait plus simple d'utiliser des boucles "pour " imbriques pour gerer l'affichage de ces meme compteurs !! disons quelque chose comme ca :

            pour i de 1 à (nombre urne) faire
            debut
            pour .......

            ecrire (" cas 1 • U1=(balle1), U2=(balle 2), U3=(belle 3), ")
            fin pour
            fin.....
            a toi de completer IIIIIII
        2. si je fait que des boucle for je pourrai pas eliminer les cas dont j ai pas besoin c ca .en plus imagine pour 10cas s va faire koi il y a 1974 cas je veut pas faire un programe pour chaque
          mai merci comme memme pour ton aide