19
3. Algorithmes d’arithmétiques
L’arithmétique est une branche des mathématiques qui étudie les relations entre les nombres. Du grec « arithmétiké » qui signifie « l’art des nombres », et elle se définit aussi par « la science des nombres ». Le test de primalité, le test de parité, l’étude des nombres parfaits, le calcul de factoriel, le calcul de PGCD, le calcul de PPCM, … sont des exemples d’études arithmétiques.
7.1 Nombres premiers
Un nombre est dit premier s’il n’a que deux diviseurs 1 et lui-même.
7.2 Calcul du factoriel
La factorielle d’un entier positif N noté N! est calculé comme suit : N !=1*2*3*…* N
Exercice 21 :
(Manipulation d’un tableau avec les sous programmes) On desire faire un programme Python qui permet de faire les tâches suivantes :1- Saisir un entier n (avec 2<n<10).
2- Rremplir un tableau t par n entiers.
3- Afficher le tableau t après le remplissage.
4- Calculer et afficher la moyenne du tableau t.
5- Chercher et afficher le maximum du tableau t.
NB: il faut décomposer votre programme en modules
Exercice 22 :
(Nombre premier)1- Donner 5 exemples de nombre premiers : 2, 3, 5, 7, 9, 11, 13
2- Donner l’algorithme d’une fonction booléenne qui permet de vérifier si un entier x passé en paramètre est premier ou non.
Exercice 23 :
(factorielle)1- Donner l’algorithme d’une fonction somme qui calcule la somme SN suivante avec N un entier positif saisit au clavier et passé en paramètre à la fonction somme.
SN= 1+2+3+…+N 2- Caluler 5 ! puis 8 !
3- Donner l’algorithme d’une fonction fact qui calcule la factorielle d’un entier naturel N
20
7.3 Calculer la puissance de deux entiers positifs
7.4 Nombres parfait
Un nombre est dit parfait s’il est égal à la somme de ses diviseurs autres que lui-même.
Par exemple 6 est un nombre parfait car les diviseurs de 6 sont 1,2,3 et 6 et puisque 6=1+2+3 donc 6 est un nombre parfait.
Exercice 24 :
(Puissance xy)1- Donner l’algorithme d’une fonction qui prend en paramètre deux entiers x et y positifs pour calculer et renvoyer la valeur de x à la puissance y (xy)
2- Traduire l’algorithme de la fonction en Python
Exercice 25 :
(somme avancée)Faire l’algorithme d’un programme qui permet de faire les tâches suivantes : 1- Saisir N avec (4≤N≤15)
2- Calculer la somme S suivante :
𝑆 = 1 + 𝑥
1! + 𝑥
22! + 𝑥
33! + ⋯ 𝑥
𝑁𝑁!
3- Afficher la somme S calculée.
Exercice 26 :
(Nombre parfait)Faire l’algorithme d’une fonction nommée parfait qui vérifie si un nombre positif x est parfait ou non.
21
7.5 – PGCD : Plus Grand Commun Diviseur
7.6 – PPCM : Plus Petit Commun Multiple
7.7 – Décomposition en facteurs premiers Exercice 27 :
(PGCD)1- Calculer le PGCD (Plus Grand Commun Diviseur) pour les couples suivants en utilisant la méthode de différence qui consiste à soustraire le plus petit du plus grand jusqu’à ce que les deux valeurs soient égaux.
➢ X=15 et Y=27
➢ X=120 et Y=50
2- Donner l’algorithme d’un programme qui permet de :
• Saisir deux entier x et y strictement positifs.
• Calculer et afficher leurs PGCD.
3- Traduire votre algorithme en Python
Exercice 28 :
(PPCM)1- Pour les couples suivants calculer les PPCM PPCM(5,6) =
PPCM(120,50) = PPCM(50,120) =
2- Donner l’algorithme d’une fonction qui calcul le PPCM de deux entiers x et y.
def saisir():
while True:
x=int(input('donner x '))
if x>0:
break while True:
y=int(input('donner y '))
if y>0:
break return x,y
Exercice 29 :
(décomposition en facteurs premiers)1- Decomposer 600 sous forme de produit de facteurs premiers : 600= 2*2*2*3*5*5 2- Donner le programme python qui permet de :
• Saisir un entier x >1
• Afficher la decomposition en facteurs premiers de l’entier x comme le montre l’exemple : Exemple :
Pour x=630 le programme doit afficher : 630 = 2*3*3*5*7