Exercice 13
Ecrire un algorithme en Python qui renvoie la liste des nombres formés de trois chiffres n = pqr avec q et r sont premiers entre eux.
Solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# Fonction qui teste la primalité de deux nombres def testPrimality(n,m): # compteur qui compte le nombre de diviseurs communs à m et n nombreDiv = 0 for i in range(1,n+1): # Si i est un diviseur commun à m et n on incrémente le compteur nombrDiv if ( m%i == 0 and n%i == 0): nombreDiv = nombreDiv + 1 # Si le nombre des diviseurs communs à m et n est = 1 # alors m et n sont premiers entre eux if (nombreDiv == 1): return True else: return False # Détermination de la liste recherchée # Initalisation de la liste list_numbers = [] for p in range(1, 10): for q in range(10): for r in range(10): # Ecrire le nombre n = pqr en base 10 n = p*100 + q*10 + r if testPrimality(q,r): list_numbers.append(n) print("Liste recherchée : " , list_numbers) """ output: Liste recherchée : [110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 121, 123, 125, 127, 129, 131, 132, 134, 135, 137, 138, 141, 143, 145, 147, 149, 151, 152, 153, 154, 156, 157, 158, 159, 161, 165, 167, 171, 172, 173, 174, 175, 176, 178, 179, 181, 183, 185, 187, 189, 191, 192, 194, 195, 197, 198, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 221, 223, 225, 227, 229, 231, 232, 234, 235, 237, 238, 241, 243, 245, 247, 249, 251, 252, 253, 254, 256, 257, 258, 259, 261, 265, 267, 271, 272, 273, 274, 275, 276, 278, 279, 281, 283, 285, 287, 289, 291, 292, 294, 295, 297, 298, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 321, 323, 325, 327, 329, 331, 332, 334, 335, 337, 338, 341, 343, 345, 347, 349, 351, 352, 353, 354, 356, 357, 358, 359, 361, 365, 367, 371, 372, 373, 374, 375, 376, 378, 379, 381, 383, 385, 387, 389, 391, 392, 394, 395, 397, 398, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 421, 423, 425, 427, 429, 431, 432, 434, 435, 437, 438, 441, 443, 445, 447, 449, 451, 452, 453, 454, 456, 457, 458, 459, 461, 465, 467, 471, 472, 473, 474, 475, 476, 478, 479, 481, 483, 485, 487, 489, 491, 492, 494, 495, 497, 498, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 521, 523, 525, 527, 529, 531, 532, 534, 535, 537, 538, 541, 543, 545, 547, 549, 551, 552, 553, 554, 556, 557, 558, 559, 561, 565, 567, 571, 572, 573, 574, 575, 576, 578, 579, 581, 583, 585, 587, 589, 591, 592, 594, 595, 597, 598, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 621, 623, 625, 627, 629, 631, 632, 634, 635, 637, 638, 641, 643, 645, 647, 649, 651, 652, 653, 654, 656, 657, 658, 659, 661, 665, 667, 671, 672, 673, 674, 675, 676, 678, 679, 681, 683, 685, 687, 689, 691, 692, 694, 695, 697, 698, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 721, 723, 725, 727, 729, 731, 732, 734, 735, 737, 738, 741, 743, 745, 747, 749, 751, 752, 753, 754, 756, 757, 758, 759, 761, 765, 767, 771, 772, 773, 774, 775, 776, 778, 779, 781, 783, 785, 787, 789, 791, 792, 794, 795, 797, 798, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 821, 823, 825, 827, 829, 831, 832, 834, 835, 837, 838, 841, 843, 845, 847, 849, 851, 852, 853, 854, 856, 857, 858, 859, 861, 865, 867, 871, 872, 873, 874, 875, 876, 878, 879, 881, 883, 885, 887, 889, 891, 892, 894, 895, 897, 898, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 921, 923, 925, 927, 929, 931, 932, 934, 935, 937, 938, 941, 943, 945, 947, 949, 951, 952, 953, 954, 956, 957, 958, 959, 961, 965, 967, 971, 972, 973, 974, 975, 976, 978, 979, 981, 983, 985, 987, 989, 991, 992, 994, 995, 997, 998] """ |
Younes Derfoufi
CRMEF OUJDA
1 thought on “Exercice 13 : Algorithme python qui détermine la liste des nombres formé des chiffres premiers entre eux”