L’algorithme de Kaprekar
Baptiste GORIN
Théorème (algorithme de Kaprekar). — Soit un nombre de quatre chiffres. Si l’on calcule la différence
entre les deux nombres obtenus en ordonnant les chiffres dans l’ordre décroissant et l’ordre croissant et que l’on
itère, on obtient 6174 ou 0 quel que soit le nombre de départ, en moins de 7 opérations.
Démonstration
On pose E={1000,...,9999}. Si xappartient à E, on note x′et x′′ les permutations décroissante et croissante
respectivement (si x= 1528, alors x′= 8521 et x′′ = 1258).
Soit fla fonction définie sur E∪ {0,999}par :
f(x) = x′−x′′ si x∈E∪ {0,999}
0sinon.
On note abcd le nombre 1000a+ 100b+ 10c+d.
Proposition 1. — Pour tout x∈E, si x′=abcd, alors :
f(x) = a−d, b −c−1,9−b+c, 10 −a+d si b 6=c
999(a−d)si b =c.
Démonstration
On a : x′= 1000a+ 100b+ 10c+det x′′ = 1000d+ 100c+ 10b+a. Alors :
f(x) = x′−x′′
= 1000(a−d) + 100(b−c) + 10(c−b) + (d−a)
= 999(a−d) + 99(b−c).
Donc f(x) = 999(a−d)si b=c.
Si b6=c, on a b > c, d’où :
f(x) = 1000(a−d) + 100(b−c−1) + 10(10 + c−b) + (d−a)
= 1000(a−d) + 100(b−c−1) + 10(9 + c−b) + 10 −a+d,
puisque a > d.
Par suite, f(x) = a−d, b −c−1,9−b+c, 10 −a+dsi b6=c.
C.Q.F.D.
Proposition 2. — Pour tout x∈E, on a : f(x) = 999kavec 06k69ou f(x) = u, v, 8−v, 10 −uavec
06v < u 69.
Démonstration
Il suffit d’appliquer la proposition 1 avec x=a−det v=b−c−1.
C.Q.F.D.
Posons F1={999k; 0 6k69},F2={u, v, 8−v, 10 −u; 0 6v < u 69}et F=F1∪F2. Les ensembles F1et
F2possèdent respectivement 10 et 10
2= 45 éléments.
Corollaire 3. — Le premier K-itéré de tout élément de Eappartient à F.
Proposition 4. — Pour tout x∈E, il existe k∈ {0,...,6}tel que f◦(k)(x)∈ {6174,0}.
Démonstration
On a :
F={999,1998,2997,3996,4995,5994,6993,7992,8991,9990}
∪{1089,2088,3087,4086,5085,6084,7083,8082,9091,
2178,3177,4176,5175,6174,7173,8172,9171,
3267,4266,5265,6264,7263,8262,9261,
4356,5355,6354,7353,8352,9351,
5445,6444,7443,8442,9441,
6534,7533,8532,9531,
7623,8622,9621,
8712,9711,
9801}