Exercice (chiffres dans une base donnée)
-
Écrire une fonction chiffres(n,b) qui renvoie la liste des chiffres de l’entier n≥0 en base b≥2 (ordonnée dans l’ordre des puissances décroissantes de b). Par défaut b=10.
-
Écrire une fonction chiffres_cr(n,b) qui renvoie la liste des chiffres de l’entier n≥0 en base b≥2 (ordonnée dans l’ordre des puissances croissantes de b). Par défaut b=10.
-
Écrire une fonction nombre(L,b) qui, à partir de la liste L des chiffres d’un entier n en base b (dans l’ordre des puissances décroissantes de b) renvoie l’entier n. Par défaut b=10.
- Plus difficile : écrire une fonction récursive nombres_rec(L,b) de la fonction précédente.
|
Cliquer ici pour voir (ou cacher) le corrigé
Pour voir la suite de ce contenu, vous devez :
Pour poursuivre votre exploration, vous pouvez :
Exercice (entiers palindromiques)
On dit qu’un entier {n\ge0} est un palindrome en base {b}, si la représentation de {n} en base {b} se lit à l’identique de gauche à droite ou de droite à gauche. Par exemple : {n = 178496694871} est un palindrome en base 10.
-
Écrire une fonction estunpal prenant en argument un entier n et une base b (facultative, par défaut b = 10) et répondant True ou False suivant que n est (ou n’est pas) un palindrome en base b.
Indication : utiliser la fonction chiffres de l’exercice précédent.
-
Combien y a-t-il de palindromes (en base 10) dans l’intervalle [1, 1000000]?
-
Trouver les entiers {n\lt 10^6} qui ne sont pas palindromiques mais dont le carré est palindromique (tout ça en base 10). Par exemple 836 en fait partie car 8362 = 698896 est palindromique.
- Déterminer le plus petit nombre non palindromique dont le cube est palindromique (en base 10).
|
Cliquer ici pour voir (ou cacher) le corrigé
Pour voir la suite de ce contenu, vous devez :
Pour poursuivre votre exploration, vous pouvez :
Exercice (entiers brésiliens)
On dit qu’un entier {n} est brésilien en base {b} si tous ses chiffres sont égaux dans cette base de numération. On suppose {1 < b < n-1} (car on a toujours {n = \overline{11}} en base {b = n-1}, et si {b\ge n} l’entier {n} se réduirait au seul chiffre {n}).
Montrer que l’entier 80 est cinq fois brésilien (c’est-à-dire dans cinq bases de numération différentes).
On trouvera ici un article approfondi sur les nombres brésiliens.
On utilisera la fonction chiffres de l’exercice 1.
|
Cliquer ici pour voir (ou cacher) le corrigé
Pour voir la suite de ce contenu, vous devez :
Pour poursuivre votre exploration, vous pouvez :
Exercice (suites de Kaprekar)
Soit {u} dans {\mathbb{N}}. Soit {d} (resp. {c}) l’entier formé des chiffres dans l’ordre décroissant (resp. croissant) de {u}. On pose {K_{b}(u) = d-c}. On va vérifier quelques propriétés de la suite définie par la donnée de {u_0} et par la relation {u_{n+1}=K_{b}(un)}.
Par exemple, avec {b=10} et {u_0=4193}, on a {\begin{cases}d_0=9431\\ c_0=1349\end{cases}} donc {u_1=8062}.
Ainsi {\begin{cases}d_1=8820\\ c_0=0288\end{cases}} donc {u_2=8532}, puis {\begin{cases}d_2=8532\\ c_2=2358\end{cases}} donc {u_3=6174}.
Ensuite, on vérifie que {K_{10}(6174) = 6174} : la suite {(u_n)} stationne donc en 6174.
- Montrer que, pour {u_{0}\in\mathbb{N}} et {b\ge2}, il existe un {p} minimum et un {m\gt p} minimum tels que {u_{m}=u_{p}}.
À partir de {p}, la suite {(u_{n})} boucle donc sur la liste {[u_{p},u_{p+1},\ldots,u_{m-1}]} (appelé le cycle de {u_{0}}).
Bien sûr, si {m=p+1}, la suite {(u_{n})} est constante à partir du rang {p} (le cycle se réduisant alors à la valeur {u_{p}}).
- Écrire une fonction suivant passant de {u_{n}} à {u_{n+1}} en base {b} (par défaut {b=10}, et on affichera les {u_{n}} en base 10).
On utilisera les fonctions chiffres et nombre de l’exercice 1.
- Écrire une fonction cycle d’arguments {u_{n}} et {b} (par défaut {b=10}) et renvoyant le couple formé par le nombre {d} de valeurs avant d’atteindre le cycle, et enfin ce cycle (sous forme d’un tuple trié commençant par la valeur minimum). Par exemple cycle(1574) renvoie le couple (7,[6174]).
- Explorer la situation en base {10}, quand {u_{0}} possède exactement quatre chiffres.
- Explorer la situation en base {10}, quand {u_{0}} possède exactement cinq chiffres.
-
Explorer la situtation en base {2}, quand {u_{0}} possède exactement onze chiffres.
- Explorer la situtation en base {16}, quand {u_{0}} possède exactement quatre chiffres.
|
Cliquer ici pour voir (ou cacher) le corrigé
Pour voir la suite de ce contenu, vous devez :
Pour poursuivre votre exploration, vous pouvez :