Python

Exercices corrigés utilisant le langage Python, pour Mpsi, Mpii, Pcsi, et Spé Mp, Pc, Mpsi (concours Polytechnique, Ens, Mines-Monts, Centrale, etc.)

Recherche de rep-units

On admet que tout {n\in\mathbb{N}} impair non multiple de {5} a un multiple {N} ne s’écrivant (en base {10}) qu’avec des {1}. L’objet de cet exercice est de programmer la recherche de N, et d’étudier pour quelles valeurs de n l’entier N a une longueur record

Le parcours du cavalier

On demande de programmer et visualiser (en Python, avec le package turtle) le parcours d’un cavalier sur un échiquier. À partir d’une position initiale du cavalier, on s’attachera à décrire des trajectoires explorant la totalité de l’échiquier en passant une fois et une seule sur chaque case (voir l’article de Wikipedia). On pourra généraliser à des échiquiers de tailles différentes et/ou modifiés pour rendre certaines de leurs cases inaccessibles.

Le collectionneur, épisode 1

Pour doper ses ventes, une marque de chocolat cache dans chaque tablette (et de façon équiprobable) l’une des N figurines d’une collection. On considère ici l’expérience (aléatoire!) vécue par un client cherchant compulsivement à compléter sa collection.
On note {X} le nombre de tablettes à acheter pour compléter l’album. Dans cet épisode, on calcule la loi de X, son espérance, sa variance.

L’urne d’Ehrenfest, épisode 2

On reprend les notations et résultats de l’épisode 1.
On forme ici la matrice de transition associée à ce processus de Markov, et on l’interprète comme celle d’un endomorphisme \varphi de {\mathbb{R}_{N}[X]} dans la base canonique.
Si {t\mapsto G_{n}(t)} est la fonction génératrice de {X_{n}}, on voit que {G_{n+1}=\varphi(G_{n})}.
On retrouve alors la relation {\text{E}(X_{n+1})=1+\Bigl(1-\dfrac{2}{N}\Bigr)\text{E}(X_{n})}.

Répétitions de 0

Soit A une matrice à coefficients égaux à 0 ou 1.
On demande d’écrire une fonction Python (utilisant Numpy), prenant en argument une telle matrice, et renvoyant le plus grand nombre de zéros consécutifs dans A (horizontalement, verticalement, ou en diagonale montante ou descendante).

Matrices bistochastiques, épisode 9

Soit {B_{n}\in\mathcal{M}_n(\mathbb{R})} la matrice de terme général {(b_{i,j})_{1\le i,j\le n}} définie par:
{\begin{cases}b_{i,i+1}=b_{i+1,i}=\dfrac{1}{2}\text{\ si }1\le i\lt n\\b_{1,1}=b_{n,n}=\dfrac{1}{2},\text{\ et\ }b_{i,j}=0\text{\ dans les autres cas}\end{cases}}On diagonalise B_n, on étudie la limite de ses puissances, et on illustre les résultats avec l’aide du langage Python.