Probabilité nombre de combinaison de trois chifres de 0 à 9 [Résolu/Fermé]

Signaler
-
 Salut -
Bonjour,

J'ai 10 chiffres qui sont: 0;1;2;3;4;5;6;7;8 et 9
Je voudrais avoir toutes les combinaisons de trois chiffres en utilisant mes 10 chiffres.
Merci

5 réponses

Messages postés
25
Date d'inscription
samedi 12 mars 2011
Statut
Membre
Dernière intervention
17 mars 2011
460
Voilà :

123, 124, 125, 126, 127, 128, 129, 120, 132, 134, 135, 136, 137, 138, 139,
130, 142, 143, 145, 146, 147, 148, 149, 140, 152, 153, 154, 156, 157, 158,
159, 150, 162, 163, 164, 165, 167, 168, 169, 160, 172, 173, 174, 175, 176,
178, 179, 170, 182, 183, 184, 185, 186, 187, 189, 180, 192, 193, 194, 195,
196, 197, 198, 190, 102, 103, 104, 105, 106, 107, 108, 109, 213, 214, 215,
216, 217, 218, 219, 210, 231, 234, 235, 236, 237, 238, 239, 230, 241, 243,
245, 246, 247, 248, 249, 240, 251, 253, 254, 256, 257, 258, 259, 250, 261,
263, 264, 265, 267, 268, 269, 260, 271, 273, 274, 275, 276, 278, 279, 270,
281, 283, 284, 285, 286, 287, 289, 280, 291, 293, 294, 295, 296, 297, 298,
290, 201, 203, 204, 205, 206, 207, 208, 209, 312, 314, 315, 316, 317, 318,
319, 310, 321, 324, 325, 326, 327, 328, 329, 320, 341, 342, 345, 346, 347,
348, 349, 340, 351, 352, 354, 356, 357, 358, 359, 350, 361, 362, 364, 365,
367, 368, 369, 360, 371, 372, 374, 375, 376, 378, 379, 370, 381, 382, 384,
385, 386, 387, 389, 380, 391, 392, 394, 395, 396, 397, 398, 390, 301, 302,
304, 305, 306, 307, 308, 309, 412, 413, 415, 416, 417, 418, 419, 410, 421,
423, 425, 426, 427, 428, 429, 420, 431, 432, 435, 436, 437, 438, 439, 430,
451, 452, 453, 456, 457, 458, 459, 450, 461, 462, 463, 465, 467, 468, 469,
460, 471, 472, 473, 475, 476, 478, 479, 470, 481, 482, 483, 485, 486, 487,
489, 480, 491, 492, 493, 495, 496, 497, 498, 490, 401, 402, 403, 405, 406,
407, 408, 409, 512, 513, 514, 516, 517, 518, 519, 510, 521, 523, 524, 526,
527, 528, 529, 520, 531, 532, 534, 536, 537, 538, 539, 530, 541, 542, 543,
546, 547, 548, 549, 540, 561, 562, 563, 564, 567, 568, 569, 560, 571, 572,
573, 574, 576, 578, 579, 570, 581, 582, 583, 584, 586, 587, 589, 580, 591,
592, 593, 594, 596, 597, 598, 590, 501, 502, 503, 504, 506, 507, 508, 509,
612, 613, 614, 615, 617, 618, 619, 610, 621, 623, 624, 625, 627, 628, 629,
620, 631, 632, 634, 635, 637, 638, 639, 630, 641, 642, 643, 645, 647, 648,
649, 640, 651, 652, 653, 654, 657, 658, 659, 650, 671, 672, 673, 674, 675,
678, 679, 670, 681, 682, 683, 684, 685, 687, 689, 680, 691, 692, 693, 694,
695, 697, 698, 690, 601, 602, 603, 604, 605, 607, 608, 609, 712, 713, 714,
715, 716, 718, 719, 710, 721, 723, 724, 725, 726, 728, 729, 720, 731, 732,
734, 735, 736, 738, 739, 730, 741, 742, 743, 745, 746, 748, 749, 740, 751,
752, 753, 754, 756, 758, 759, 750, 761, 762, 763, 764, 765, 768, 769, 760,
781, 782, 783, 784, 785, 786, 789, 780, 791, 792, 793, 794, 795, 796, 798,
790, 701, 702, 703, 704, 705, 706, 708, 709, 812, 813, 814, 815, 816, 817,
819, 810, 821, 823, 824, 825, 826, 827, 829, 820, 831, 832, 834, 835, 836,
837, 839, 830, 841, 842, 843, 845, 846, 847, 849, 840, 851, 852, 853, 854,
856, 857, 859, 850, 861, 862, 863, 864, 865, 867, 869, 860, 871, 872, 873,
874, 875, 876, 879, 870, 891, 892, 893, 894, 895, 896, 897, 890, 801, 802,
803, 804, 805, 806, 807, 809, 912, 913, 914, 915, 916, 917, 918, 910, 921,
923, 924, 925, 926, 927, 928, 920, 931, 932, 934, 935, 936, 937, 938, 930,
941, 942, 943, 945, 946, 947, 948, 940, 951, 952, 953, 954, 956, 957, 958,
950, 961, 962, 963, 964, 965, 967, 968, 960, 971, 972, 973, 974, 975, 976,
978, 970, 981, 982, 983, 984, 985, 986, 987, 980, 901, 902, 903, 904, 905,
906, 907, 908, 012, 013, 014, 015, 016, 017, 018, 019, 021, 023, 024, 025,
026, 027, 028, 029, 031, 032, 034, 035, 036, 037, 038, 039, 041, 042, 043,
045, 046, 047, 048, 049, 051, 052, 053, 054, 056, 057, 058, 059, 061, 062,
063, 064, 065, 067, 068, 069, 071, 072, 073, 074, 075, 076, 078, 079, 081,
082, 083, 084, 085, 086, 087, 089, 091, 092, 093, 094, 095, 096, 097, 098
Total : 720
443
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

il y a beaucoup plus de combinaison que çà gars t'as oublié les "000" ou "001" et tout les autres d'ailleurs il doit avoir des millions de combinaisons...
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 705
il y a beaucoup plus de combinaison que çà gars t'as oublié les "000" ou "001" et tout les autres d'ailleurs il doit avoir des millions de combinaisons...
Non, il n'a pas oublié. Mais, la consigne est d'utiliser les 10 chiffres. Si c'est une seule et une seule fois chacun des chiffres, cela fait bien 720 possibilités.
En comptant toutes les combinaisons comme 000, etc. Cela fait 1000 possibilités. On est très loin de tes millions...
>
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016

Il a raison fiddy pour trois chiffres seulement en a1000 combinaison et pour deux chiffres c'est 100 combinaison et pour 4 chiffres 10000 combinaison,conclurions le nombres de chiffres appartient au nombre de zéro pour avoir combien de combinaison.
quelle est la structure d algo que vous avez utilisez !
Messages postés
21
Date d'inscription
mercredi 16 mars 2011
Statut
Membre
Dernière intervention
17 mai 2020
31
Il y a exactement 1000 combinaisons, évidemment.
Ce sont les nombres de 000 à 999 : 000, 001, 002 ... 997, 998, 999.
Je ne crois pas nécessaire de te donner la liste complète.

S'il s'agit des combinaisons sans réutiliser les mêmes chiffres, le nombre de combinaisons est de : 10 * 9 * 8 (720) car on a 10 choix pour le 1er chiffre, 9 choix sur le second (car un des chiffres est déjà pris) et 8 pour le dernier.

Salut !
merci j'ai trouvé grace a toi
Messages postés
25
Date d'inscription
samedi 12 mars 2011
Statut
Membre
Dernière intervention
17 mars 2011
460
Avec ce code-ci :
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 

#define USING "Using : a.out <bytes possibles> <string size> <endline every...>\n" 
#define LENGHT_ERROR "Error : The string's size must be a value between 0 and 127\n" 

void printStrCR(FILE * f, const char * pIn, long cVal, long rVal); 
long getBytesNoRepeat(char **pOut, const char *elements, long lenght); 

int main(int argc, char *argv[]) 
{ 

    if (argc != 4) 
    { 
        printf(USING); 
        return -1; 
    } 

    long lngtmp, 
         lenght = atol(argv[2]), 
         rVal   = atol(argv[3]); 

    if (lenght < 0 || lenght > 127) 
    { 
        printf(LENGHT_ERROR); 
        return -1; 
    } 

    char *pStr; 
    lngtmp = getBytesNoRepeat(&pStr, argv[1], lenght); 
    printStrCR(stdout, pStr, lenght, rVal); 
    fprintf(stdout, "Total : %ld\n", lngtmp); 
    return 0; 
} 

long getBytesNoRepeat(char **pOut, const char *elements, long lenght) 
{ 
    long elemCount = strlen(elements); 
    if (lenght   > elemCount) return -1; 
    if (elemCount > 0x79  ) return -2; 

    long valueCount = 1, lngtmp; 

    long i; 
    for (i=0; i<lenght; i++) 
    { 
        lngtmp = valueCount; 
        valueCount *= elemCount - i; 
        if (valueCount < lngtmp) return -4; 
    } 


    char* boolTest  = NULL, 
        *elemString = (char*) malloc(sizeof(char) * lenght); 
    if (!elemString) goto free_and_out0; 
    memset(elemString, 0, lenght); 

    *pOut = (char*) malloc(sizeof(char) * (lenght * valueCount + 1)); 
    if (!(*pOut)) goto free_and_out1; 

    boolTest = (char*) malloc(sizeof(char) * elemCount); 
    if (!boolTest) goto free_and_out2; 

    char bTest; 
    long ii, cur; 
    lngtmp = lenght - 1; 
    for (i=0; i<valueCount; i++) 
    { 
        do 
        { 
            for (ii=0; ii<elemCount; ii++) boolTest[ii] = 0; 
            cur = lngtmp; 
            do 
            { 
                elemString[cur]++; 
                if (elemString[cur] >= elemCount) 
                { 
                    elemString[cur] = -1; // Because will be incremented before being returned as 0 
                    cur--; 
                } 
                else cur ++; 
            } while (cur < lenght); 
            for (ii=0; ii<lenght; ii++) 
            { 
                bTest = boolTest[elemString[ii]]++; 
                if (bTest) break; 
            } 

        } while(bTest); 

        for(long ii=0; ii<lenght; ii++) 
            (*pOut)[i*lenght + ii] = elements[elemString[ii]]; 

    } 
    (*pOut)[valueCount * lenght] = '\0'; 

    free (boolTest); 
    free(elemString); 
    return valueCount; 

    free_and_out2: 
    free (boolTest); 
    free_and_out1: 
    free(*pOut); 
    free_and_out0: 
    free(elemString); 
    return 0; 
} 


void printStrCR(FILE * f, const char * pIn, long cVal, long rVal) 
{ 
    long i, ii = 0; 
    for (i=0; pIn[i+1]!='\0'; i++) 
    { 
        if ((i + 1) % cVal) 
            fprintf(f, "%c", pIn[i]); 
        else 
        { 
            fprintf(f, "%c, ", pIn[i]); 
            if (!((ii + 1) % rVal)) fprintf(f, "\n"); 
            ii++; 
        } 
    } 
    fprintf(f, "%c\n", pIn[i]); 
} 


en l'utilisant comme ça : nom_de_l_exe 0123456789 3 15
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 705
Bonjour,

Trop de possibilités pour les mettre sur le forum. Cela fait 720 possibilités...
Pourquoi ne le fais-tu pas toi même ? Tu veux qu'on te donne la méthode ?
Messages postés
1
Date d'inscription
samedi 17 septembre 2016
Statut
Membre
Dernière intervention
17 septembre 2016
3
whaoooo trop Coool ! merci beaucoup ! grâce à .N j'ai ouvert mon cadenas !!! Gracie mille .N super contente !!!! donc je viens de m'inscrire sur ce site pour remercier .N
pour le 0 il faut compter comme ça : 001, 002, 003, 004 ... jusqu'à 010, 011, 012, 013 ..., 020, 021, 022 ... 030, 031,032 ...040, 041, 042 ... 050, 051,052 ... 060, 061, 062 ... 070, 071, 072 ... 080, 081, 082 ... 090, 091, 092 jusqu'à 100.

Super technique pour un code perdu !!!
Une vraie bouée !!!