Catégorie : Articles du jour

Des milliers de décimales de π

On considère un développement x=\displaystyle\sum_{k=0}^{+\infty}p_k\,u_k, où {u_k=\dfrac{(k!)^2\,2^{k}}{(2k+1)!}}.
Il dit régulier si {\begin{cases}\forall k\ge1,\; 0\le p_k\le 2k\\\forall n\ge1,\;\exists m\ge n, p_m\lt 2k\end{cases}}
On étudie la convergence de ces développements, et un algorithme réduisant (par reports de retenues) à sa forme régulière le développement de 10^nx, avec n\in\mathbb{N}. On en déduit une fonction Python donnant des milliers de décimales de \pi.

Base de numération factorielle

On montre que tout réel x s’écrit de façon unique x=\displaystyle\sum_{n=1}^{+\infty}\dfrac{b_n}{n!}{b_1\in\mathbb{Z}}, {b_n\in[\![0,n-1]\!]} pour {n\ge2}, et où pour tout {n\ge1}, il existe {m\ge n} tel que {b_m\lt n-1}.
Avec Python, et des schémas de Horner, on programme les conversions entre cette représentation « factorielle » et la représentation décimale.

Le théorème chinois

Soit {n_1,n_2,\ldots,n_r} dans {\mathbb{N}^*}, premiers entre eux deux à deux. Soit {N=\displaystyle\prod\limits_{k=1}^{r}n_k}.
Il existe un unique x\in[\![0,N-1]\!] tel que x\equiv n_j\mod n_j pour tout j.
Ce résultat est communément appelé théorème chinois. L’objet de cet article est de programmer le calcul de x en Python (deux méthodes).

Coefficients de Bézout

Soient {m,n} dans {\mathbb{N}^*}, avec {m\wedge n=1}.
Il existe une infinité de {(u,v)\in\mathbb{Z}^2} tel que {um+vn=1}.
Il existe en particulier un couple {(u,v)} unique tel que {\left|u\right|\le n/2} et {\left|v\right|\le m/2}.
L’objet de cet article est de programmer deux méthodes (l’une itérative, l’autre récursive) de calcul des deux entiers u et v.

Le problème des n reines

Le problème des huit reines est bien connu.
On se propose ici de programmer avec Python (et de visualiser avec le package turtle) la recherche des solutions au problème plus général des n reines (placées sur un échiquier n×n de telle sorte qu’aucune d’elle ne soit en prise avec une autre).

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.