Menu

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

- - Dernière réponse :  fadoua - 24 déc. 2018 à 11:11
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
Afficher la suite 

5 réponses

Meilleure réponse
approuvée par Jean-François Pillou le 20 déc. 2018
Messages postés
25
Date d'inscription
samedi 12 mars 2011
Dernière intervention
17 mars 2011
589
342
Merci
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

Dire « Merci » 342

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 56682 internautes nous ont dit merci ce mois-ci

fiddy
Messages postés
11138
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
2213 -
@math,
Non, il y a bien 720 combinaisons.
Le but est d'utiliser les 10 chiffres. Tu n'as qu'une fois le chiffre 0...
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...
fiddy
Messages postés
11138
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
2213 -
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...
> fiddy
Messages postés
11138
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
17
Date d'inscription
mercredi 16 mars 2011
Dernière intervention
18 avril 2018
16
11
Merci
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
Dernière intervention
17 mars 2011
589
5
Merci
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
11138
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
2213
2
Merci
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
Dernière intervention
17 septembre 2016
1
0
Merci
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 !!!