Python

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

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.

Matrices bistochastiques, épisode 1

Soit {A=(a_{i,j})_{0\le i,j\le n-1}} dans {\mathcal{M}_{n}(\mathbb{R})}.
On dit que A est {\mu}magique si la somme de chaque ligne et de chaque colonne vaut {\mu}.
On dit que {A} est bistochastique si A est {1}-magique et si les {a_{i,j}} sont positifs ou nuls.
On note {\mathcal{B}_n(\mathbb{R})} l’ensemble des matrices bistochastiques d’ordre n.
On note {\mathcal{P}_n(\mathbb{R})\subset\,\mathcal{B}_n(\mathbb{R})} l’ensemble des matrices de permutations {P_{\sigma}} d’ordre n.
On illustre ici ces notions avec Python.

La comète de Goldbach

La conjecture de Goldbach affirme que tout entier pair {n\ge4} peut s’écrire comme la somme de deux entiers premiers. On appelle comète de Goldbach le nuage des points {(k,g(k))}, où {k} décrit les entiers pairs dans un certain intervalle {[4,n]} et où {g(k)} désigne le nombre de façons d’écrire {k} comme la somme de deux nombres premiers. Dans cet article, on écrit les fonctions Python utiles pour produire le tracé de cette comète.

Inverser des matrices rationnelles avec Python

Si une matrice carrée inversible A est à coefficients entiers (ou plus généralement rationnels), alors son inverse est à coefficients rationnels.
Avec Python, le calcul de l’inverse de A provoque un passage en mode float.
Dans ce cas, retrouver l’expression exacte (sous forme de rationnels) de A^{-1}.

Euler 034

Le nombre {145} est la somme des factorielles de ses chifres: {145 = 1! + 4! + 5! = 1 + 24 + 120}.
Trouver tous les entiers {n} ({n\ge1}) qui ont cette propriété.

Euler 033

Trouver les couples {(n,d)} avec {n \lt d}, s’écrivant {n=xy} et {d=yz} en base 10, et telle que {\dfrac{n}{d}=\dfrac{xy}{yz}=\dfrac{x}{z}} (exemple {\dfrac{19}{95}=\dfrac{1}{5}}). On ne retiendra pas les solutions où {x=y}, qui sont considérées comme évidentes.

Euler 032

L’égalité {39\cdot186=7254} exprime {n=7254} en utilisant une fois et une seule tous les chiffres de {1} à {9}. Trouver la somme des entiers {n} qui ont cette propriété de {7254}, donc qui peuvent s’écrire {n=pq}, où la représentation décimale de {n,p,q} fait apparaître une fois et une seule chaque chiffre de {1} à {9}.

Euler 031

Soit {p} une liste {[p_{0},p_{1},\ldots,p_{n-1}]} de valeurs faciales de pièces, triée dans l’ordre croissant. De combien de façons peut-on payer une somme {s} avec des pièces de la valeur faciale indiquée dans la liste {p}? Indication: avec {s=200} et {p=[1,2,5,10,20,50,100,200]} le résultat est {73682}.

Euler 030

Donner la liste des entiers positifs qui sont égaux à la somme des puissances cinquièmes de leurs chiffres. Indication: on considère que 1 n’est pas solution, et la somme des solutions vaut alors 443839.

Euler 029

Combien l’ensemble des {a^{b}} avec {a,b} entiers, {2\le a,b \lt N} comporte-t-il d’entiers distincts?
Indication: si {N=100}, on trouve {945}.

Euler 026

On dira que les répresentations décimales de {1/2=0.5} et {1/5=0.2} sont finies car elles aboutissent à une répétition de décimales nulles.
En revanche, celle de {1/7} est infinie: elle s’écrit s’écrit {1/7=0.\overline{142857}}, en notant {\overline{142857}} la répétition indéfinie des chifres {142857}: on exprimera cette situation en disant que le développement de {1/7} est ultimement périodique de période {6}.
Problème: on se donne un entier {N > 2}. Pour quelle valeur de {d}, avec {2\le d \lt N}, la période ultime de {1/d} est-elle la plus élevée?

Euler 025

La suite de Fibonacci est définie par {F_{0}=0}, {F_{1}=1} et{F_{n+2}=F_{n+1}+F_{n}} pour {n} de {\mathbb{N}}.
Quel est l’indice du plus petit {F_{n}} comportant {N\ge2} chiffres?

Euler 024

Former la {N}-ième permutation de « 0123456789 » dans l’ordre lexicographique
(réponse: « 2783915460 » si {N=1000000})