Outil pour calculer l'expansion de Cantor (Cantor expansion en anglais) d'un nombre, grace à sa représentation en base factorielle.
Expansion de Cantor - dCode
Catégorie(s) : Arithmétique
dCode est gratuit et ses outils sont une aide précieuse dans les jeux, les maths, les énigmes, les géocaches, et les problèmes à résoudre au quotidien !
Une suggestion ? un problème ? une idée ? Écrire à dCode !
L'expansion de Cantor (Cantor Expansion en anglais) d'un entier naturel $ n $ est une somme de la forme $$ n = (k_m)m! + (k_{m-1})(m-1)! + \cdots + k_{2}2! + k_{1}1! $$ avec $ k_i $ des entiers tels que $ 0 \leq k_i \leq i $
Exemple : 12 = 2*3! + 0*2! + 0*1!
Il s'agit de la somme explicite de la base factorielle du nombre $ n $.
Commencer par convertir le nombre en base factorielle (en effectuant des divisions successives de $ n $ par $ i $ pour les nombres de $ 1 $ à $ n $, tant que le quotient de la division euclidienne est non nul) et faire la somme des chiffres (en base factorielle) obtenus en les mutipliant par la factorielle correspondante.
Exemple : En base 10, $ 123 $ se décompose en $ 1 \times 100 + 2 \times 10 + 3 \times 1 $
Exemple : En base factorielle, $ 234_{10} = 14300_{!} = 1 \times 5! + 4 \times 4! + 3 \times 3! + 0 \times 2! + 0*1! $
Pour programmer la conversion d'un nombre décimal en base factorielle, voici un algorithme :function decimal2cantor(x) {
n = 1
a = []
while (x != 0) {
a[n] = x mod (n+1)
x = (x-a[n])/(n+1)
n++
}
return a[n]
}
L'expansion de Cantor pourra se déduire par a[n]*n! + a[n−1]*(n-1)! + ... + a[2]*2! + a[1]*1!
Pour programmer la conversion d'un nombre écrit en base factorielle en un nombre décimal, voici un algorithme : function cantor2decimal(a[n]) {
x = 0
for i=n to 1 {
x = x + a[i]
x = i*x
}
return x
}
dCode se réserve la propriété du code source pour "Expansion de Cantor". Tout algorithme pour "Expansion de Cantor", applet ou snippet ou script (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou toutes fonctions liées à "Expansion de Cantor" (calculer, convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codés en langage informatique (Python, Java, C#, PHP, Javascript, Matlab, etc.) ou toute base de données, ou accès API à "Expansion de Cantor" ou tout autre élément ne sont pas publics (sauf licence open source explicite type Creative Commons). Idem avec le téléchargement pour un usage hors ligne sur PC, mobile, tablette, appli iPhone ou Android.
Rappel : dCode est une ressource éducative et pédagogique, accessible en ligne gratuitement et pour tous.
Le contenu de la page "Expansion de Cantor" ainsi que ses résultats peuvent être copiés et réutilisés librement, y compris à des fins commerciales, à condition de mentionner dCode.fr comme source.
L'export des résultats est gratuit et se fait simplement en cliquant sur les icônes d'export ⤓ (format .csv ou .txt) ou ⧉ copier-coller.
Pour citer dCode.fr sur un autre site Internet, utiliser le lien :
Dans un article scientifique ou un livre, la citation bibliographique recommandée est : Expansion de Cantor sur dCode.fr [site web en ligne], consulté le 17/04/2025,