L'algorithme de Kaprekar fait retomber sur le même nombre

Proposé par
le
dans

L'algorithme de Kaprekar est une curiosité mathématique découverte en 1949 par le mathématicien indien Dattatreya Kaprekar. Il consiste à soustraire le plus petit nombre possible constitué à partir de 4 chiffres, du plus grand nombre constitué de ces 4 mêmes chiffres. En répétant cette opération (7 fois au maximum), on aboutit invariablement à 6174.

L'algorithme fonctionne pourvu qu'il y ait au moins deux chiffres différents dans la séquence initiale. Par exemple, en choisissant 2024 comme séquence initiale, on effectue : 4220 - 0224 = 3996, puis 9963 - 3699 = 6264, etc., pour aboutir à 6174 au bout de 4 étapes.


Commentaires préférés (3)

On n'aboutit pas invariablement à 6174, mais parfois à 0. Et ce, pour 9 cas : si tout les chiffres sont du nombre initial sont égaux (par exemple, 3333), on obtient bien 0, c'est ce qu'on nomme des "cas dégénérés".

L'algorithme de Kaprekar peut se généraliser à tout les nombres, même si le cas initial était bien de 4 chiffres. Cependant, on peut tomber sur plusieurs constantes, mais également des cycles (pour les cas a 5 chiffres par exemple, on peut boucler sur 59 994 ; 53 955 ; 59 994 ; 53 955...)
De même, elle n'est pas spécifique a la base 10, mais peut être appliqué à d'autres bases.

Pour les cas a deux chiffres, ça dépend de si on considère "09" comme un nombre a deux chiffres, qui va donner 81 (90 - 09), ou un chiffre, ce qui fait tomber a 0.

a écrit : On n'aboutit pas invariablement à 6174, mais parfois à 0. Et ce, pour 9 cas : si tout les chiffres sont du nombre initial sont égaux (par exemple, 3333), on obtient bien 0, c'est ce qu'on nomme des "cas dégénérés".

L'algorithme de Kaprekar peut se généraliser à tout les nombre
s, même si le cas initial était bien de 4 chiffres. Cependant, on peut tomber sur plusieurs constantes, mais également des cycles (pour les cas a 5 chiffres par exemple, on peut boucler sur 59 994 ; 53 955 ; 59 994 ; 53 955...)
De même, elle n'est pas spécifique a la base 10, mais peut être appliqué à d'autres bases.

Pour les cas a deux chiffres, ça dépend de si on considère "09" comme un nombre a deux chiffres, qui va donner 81 (90 - 09), ou un chiffre, ce qui fait tomber a 0.
Afficher tout
L'anecdote précise qu'il doit y avoir au moins 2 chiffre différents pour arriver à 6174, du coup ta contradiction n'en est pas une, même si ce que tu dis est intéressant.

a écrit : On est d’accord, dans ma séquence initiale, on a bien deux chiffres différents :
3233
Donc 3332-2333=999 .. fin de l’histoire ?
En somme, soit je n’ai pas compris l’énoncé et je ne me coucherai pas moins bête, soit tu m’explique et.. JMCMB ;-)
3332-2333=0999
9990-0999=8991
9981-1899=8082
8802-0288=8532
8532-2358=6174
Le compte est bon


Tous les commentaires (14)

On n'aboutit pas invariablement à 6174, mais parfois à 0. Et ce, pour 9 cas : si tout les chiffres sont du nombre initial sont égaux (par exemple, 3333), on obtient bien 0, c'est ce qu'on nomme des "cas dégénérés".

L'algorithme de Kaprekar peut se généraliser à tout les nombres, même si le cas initial était bien de 4 chiffres. Cependant, on peut tomber sur plusieurs constantes, mais également des cycles (pour les cas a 5 chiffres par exemple, on peut boucler sur 59 994 ; 53 955 ; 59 994 ; 53 955...)
De même, elle n'est pas spécifique a la base 10, mais peut être appliqué à d'autres bases.

Pour les cas a deux chiffres, ça dépend de si on considère "09" comme un nombre a deux chiffres, qui va donner 81 (90 - 09), ou un chiffre, ce qui fait tomber a 0.

a écrit : On n'aboutit pas invariablement à 6174, mais parfois à 0. Et ce, pour 9 cas : si tout les chiffres sont du nombre initial sont égaux (par exemple, 3333), on obtient bien 0, c'est ce qu'on nomme des "cas dégénérés".

L'algorithme de Kaprekar peut se généraliser à tout les nombre
s, même si le cas initial était bien de 4 chiffres. Cependant, on peut tomber sur plusieurs constantes, mais également des cycles (pour les cas a 5 chiffres par exemple, on peut boucler sur 59 994 ; 53 955 ; 59 994 ; 53 955...)
De même, elle n'est pas spécifique a la base 10, mais peut être appliqué à d'autres bases.

Pour les cas a deux chiffres, ça dépend de si on considère "09" comme un nombre a deux chiffres, qui va donner 81 (90 - 09), ou un chiffre, ce qui fait tomber a 0.
Afficher tout
L'anecdote précise qu'il doit y avoir au moins 2 chiffre différents pour arriver à 6174, du coup ta contradiction n'en est pas une, même si ce que tu dis est intéressant.

C'était l'un des tous premiers sujets traités chez Numberphile (en 2011 !) : www.youtube.com/watch?v=d8TRcZklX_Q

Pour ceux qui aiment les mathématiques sans forcément en être de fins connaisseurs, ou simplement qui veulent découvrir le monde des mathématiques, Numberphile est une chaîne incontournable. C'est en anglais, souvent sous-titré.

c'est une curiosité parce que la démonstration n'a pas encore été faite ?

a écrit : c'est une curiosité parce que la démonstration n'a pas encore été faite ? Si si c'est démontré. D'ailleurs en dehors d'une démonstration théorique, on parle d'un résultat qui concerne un peu moins de 10 000 nombres, donc une démonstration numérique est assez simple à produire avec quelques lignes de code.
À mon sens on peut parler de curiosité car c'est complètement inattendu de tomber sur une constante qui n'a a priori rien de particulier, quel que soit le point de départ. Je pense qu'au moment de "lancer" cet algorithme pour la première fois, le mathématicien ne s'attendait pas à cela.

La meilleure chose que l’humanité ait découverte serait incontestablement les mathématiques…

a écrit : L'anecdote précise qu'il doit y avoir au moins 2 chiffre différents pour arriver à 6174, du coup ta contradiction n'en est pas une, même si ce que tu dis est intéressant. On est d’accord, dans ma séquence initiale, on a bien deux chiffres différents :
3233
Donc 3332-2333=999 .. fin de l’histoire ?
En somme, soit je n’ai pas compris l’énoncé et je ne me coucherai pas moins bête, soit tu m’explique et.. JMCMB ;-)

a écrit : On est d’accord, dans ma séquence initiale, on a bien deux chiffres différents :
3233
Donc 3332-2333=999 .. fin de l’histoire ?
En somme, soit je n’ai pas compris l’énoncé et je ne me coucherai pas moins bête, soit tu m’explique et.. JMCMB ;-)
3332-2333=0999
9990-0999=8991
9981-1899=8082
8802-0288=8532
8532-2358=6174
Le compte est bon

a écrit : 3332-2333=0999
9990-0999=8991
9981-1899=8082
8802-0288=8532
8532-2358=6174
Le compte est bon
Merci, la je peux enfin MCMB!
En plaçant ce 0 qui est contre-intuitif devant le nombre, on y arrive.
Cette démonstration est en effet convaincante, le zéro devant un nombre, moins. Mais ça a le mérite de valider l’algorithme.

a écrit : Merci, la je peux enfin MCMB!
En plaçant ce 0 qui est contre-intuitif devant le nombre, on y arrive.
Cette démonstration est en effet convaincante, le zéro devant un nombre, moins. Mais ça a le mérite de valider l’algorithme.
Ça n'est pas contre intuitif dès lors que ça fait parti de la consigne. 4 chiffres. Si l'enlèves un chiffre à la première occasion ça marche forcément moins bien.

a écrit : On est d’accord, dans ma séquence initiale, on a bien deux chiffres différents :
3233
Donc 3332-2333=999 .. fin de l’histoire ?
En somme, soit je n’ai pas compris l’énoncé et je ne me coucherai pas moins bête, soit tu m’explique et.. JMCMB ;-)
C'est pas comme si la 1ere opération de l'anecdote montre exactement ce cas précis ;-)

a écrit : 3332-2333=0999
9990-0999=8991
9981-1899=8082
8802-0288=8532
8532-2358=6174
Le compte est bon
Pas mieux !!!