Cours
- Comment demander la saisie d'une chaîne de caractères ?
- Comment obtenir la longueur d'une chaîne de caractères ?
Préliminaires
- Calculez le nombre $n$ tel que $2+4+6+8+...+2*n$ dépasse 1000 pour la première fois.
- Faire de même avec les entiers impairs, et les puissances de 2.
- Réalisez un chiffrement par décalage : si l'utilisateur rentre azerty, chiffrez cela en bafsuz (on décale d'une lettre dans l'alphabet).
On fera attention qu'après z, c'est a.
Codes secrets
Réalisez le chiffrement/déchiffrement d'une chaîne de caractères, en se basant sur la méthode dite de transposition en dents de scie : pour chiffrer le message
transposition en dents de scie
on l'écrit sur deux lignes, en dents de scie justement :
t a s o i i n n e t d s i
r n p s t o e d n s e c e
Ce qui donne, quand on concatène les deux lignes, le chiffré :
tasoiinnetdsirnpstoednsece
On pourra faire deux fonctions : l'une pour le chiffrement, et l'autre pour le déchiffrement.
Indicatrice d'Euler
La fonction indicatrice d'Euler $\phi(n)$ est égale au nombre d'entiers entre 0 et $n-1$ qui sont premiers avec $n$, en convenant que
- $\phi(0) = 0$,
- $\phi(1) = 1$.
- Que vaut $\phi(12)$ ?
- Faire une fonction qui renvoie $\phi(n)$.
- Trouver expérimentalement, avec votre fonction, un lien entre $\phi(n \times m)$ et $\phi(n)$, $\phi(m)$.
- D'après vous, à quoi est égal $\phi(p^n)$ quand $p$ est premier ?