TP Python no 2 Page 1 sur 1
TP Python no 2
Exercice 1.
On considère n +1 cases numérotées de 0 à n. On s’intéresse à une bille qui démarre de la case 0, et qui, pour un essai,
peut soit avancer d’une case, soit ne pas bouger, ce de façon équiprobable.
1. Définir une fonction tirer d’argument n, qui retourne le numéro de la case sur laquelle la bille a terminé
après n essais. On utilisera le module random.
2. On répète l’expérience précédente (consituée de n essais) N fois. Représenter la proportion de billes sur cha-
cune des cases. On prendra pour la suite du problème n = 10 et N = 500.
3. Définir une fonction pour calculer un coefficient binomial.
4. On note X la variable aléatoire égale à la position de la bille au bout de n essais.
Représenter les probabilités P (X = k) pour chacune des cases k ∈ 0, n.
5. Représenter les courbes des questions 2 et 4 sur le même graphique.
6. Tout reprendre avec une probabilité p quelconque que la bille avance.
Exercice 2. 1. Expliquer le programme ci-dessous :
2. On appelle diviseur propre d’un entier naturel n, tout diviseur de n strictement inférieur à n.
Écrire une fonction nbdp donnant le nombre de diviseurs propres d’un entier naturel n.
3. Écrire une fonction somdp donnant la somme des diviseurs propres d’un entier naturel n.
4. Un nombre est dit de type AA si la somme de ses diviseurs propres divisée par son nombre de diviseurs propres
est un nombre entier.
Écrire une fonction renvoyant un booléen indiquant si le nombre est de type AA.
5. Afficher sous forme de liste les nombres de type AA parmi les entiers allant de 0 à 200.
6. Afficher sous forme de liste les nombres de type AA de 0 à 200 qui ne sont pas premiers.
7. Créer une fonction PR prenant en arguments a et n et retournant le couple (k, m) où k est le plus grand entier
vérifiant n = ma k . Vérifier pour un nombre entier strictement positif.
8. À l’aide de la fonction PR, créer une fonction facteurs prenant en argument un entier n et renvoyant la liste
des couples (p, k) correspondant à la décomposition en facteurs premiers de n (pour 250 la fonction doit ren-
voyer [[5, 3], [2, 1]]).
9. Créer une fonction L prenant en argument n et revoyant la liste de la suite (ℓn ) définie par récurrence par :
ℓ2 = 0 et quel que soit n supérieur ou égal à 2 : ℓn+1 = ℓn + 1 si n possède un nombre pair de facteurs premiers,
tandis que ℓn+1 = ℓn − 1 sinon.
10. A l’aide de la bibliothèque matplotlib afficher ℓn pour n variant entre 2 et 1000.
Lycée Newton – CPGE PT