Exercice 49
Rédigez un algorithme en langage Python qui crée un dictionnaire. Les clés de ce dictionnaire correspondent aux nombres entiers de deux chiffres, représentés par n = pq, tandis que les valeurs associées sont définies comme True si les facteurs premiers p et q sont premiers entre eux, et False sinon.
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 35 36 37 38 39 40 41 42 43 44 45 |
# fonction qui teste la primalité def premiers_entre_eux(p , q): number_divisors = 1 for i in range(2 , p+1): if p%i == 0 and q%i == 0: number_divisors += 1 # si le nombre des diviseurs communs est > 1 # le nombre est premier if number_divisors > 1: return False else: return True # création du dictionnaire demandé dict_numbers = dict({}) for p in range(1 , 10): for q in range(0 , 10): k = 10*p + q if premiers_entre_eux(p, q): dict_numbers[k] = True else: dict_numbers[k] = False # Affiché le dictionnaire print("dict_numbers = ", dict_numbers) """ output: dict_numbers = {10: True, 11: True, 12: True, 13: True, 14: True, 15: True, 16: True, 17: True, 18: True, 19: True, 20: False, 21: True, 22: False, 23: True, 24: False, 25: True, 26: False, 27: True, 28: False, 29: True, 30: False, 31: True, 32: True, 33: False, 34: True, 35: True, 36: False, 37: True, 38: True, 39: False, 40: False, 41: True, 42: False, 43: True, 44: False, 45: True, 46: False, 47: True, 48: False, 49: True, 50: False, 51: True, 52: True, 53: True, 54: True, 55: False, 56: True, 57: True, 58: True, 59: True, 60: False, 61: True, 62: False, 63: False, 64: False, 65: True, 66: False, 67: True, 68: False, 69: False, 70: False, 71: True, 72: True, 73: True, 74: True, 75: True, 76: True, 77: False, 78: True, 79: True, 80: False, 81: True, 82: False, 83: True, 84: False, 85: True, 86: False, 87: True, 88: False, 89: True, 90: False, 91: True, 92: True, 93: False, 94: True, 95: True, 96: False, 97: True, 98: True, 99: False} """ |
Younes Derfoufi
CRMEF OUJDA