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". Sauf code licence open source explicite (indiqué Creative Commons / gratuit), l'algorithme pour "Expansion de Cantor", l'applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou les 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 les données, en téléchargement, script, ou les accès API à "Expansion de Cantor" ne sont pas publics, idem pour un usage hors ligne, PC, mobile, tablette, appli iPhone ou Android !
Rappel : dCode est gratuit.
Le copier-coller de la page "Expansion de Cantor" ou de ses résultats est autorisée (même pour un usage commercial) tant que vous créditez dCode !
L'exportation des résultats sous forme de fichier .csv ou .txt est gratuite en cliquant sur l'icone export
Citer comme source bibliographique :
Expansion de Cantor sur dCode.fr [site web en ligne], consulté le 22/12/2024,