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 x appartient à E, on note x′ et x′′ les permutations décroissante et croissante respectivement (si x = 1528, alors x′ = 8521 et x′′ = 1258). Soit f la fonction définie sur E ∪ {0, 999} par : ′ x − x′′ si x ∈ E ∪ {0, 999} f (x) = 0 sinon. On note abcd le nombre 1000a + 100b + 10c + d. Proposition 1. — Pour tout x ∈ E, si x′ = abcd, alors : a − d, b − c − 1, 9 − b + c, 10 − a + d si b 6= c f (x) = 999(a − d) si b = c. Démonstration On a : x′ = 1000a + 100b + 10c + d et 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 b 6= 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 + d si b 6= c. C.Q.F.D. Proposition 2. — Pour tout x ∈ E, on a : f (x) = 999k avec 0 6 k 6 9 ou f (x) = u, v, 8 − v, 10 − u avec 0 6 v < u 6 9. Démonstration Il suffit d’appliquer la proposition 1 avec x = a − d et v = b − c − 1. C.Q.F.D. Posons F1 = {999k; 0 6 k 6 9}, F2= {u, v, 8 − v, 10 − u; 0 6 v < u 6 9} et F = F1 ∪ F2 . Les ensembles F1 et 10 F2 possèdent respectivement 10 et = 45 éléments. 2 Corollaire 3. — Le premier K-itéré de tout élément de E appartient à 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} L’algorithme de Kaprekar 2 On réunit les éléments de F \ {0, 999, 6174} constitués des mêmes chiffres : il y a 29 groupes de tels nombres. On détermine le premier K-itéré de l’un quelconque de chacun de ses groupes. On construit alors le groupe orienté vers le haut de F par la relation « est le K-itéré de ». C.Q.F.D. 3 L’algorithme de Kaprekar 6174 hhhhhhhh hhhhh 8532 8082 2088 8352 ``` ``` @ `` @ 9711 9621 7083 9171 9261 3087 9801 6534 4176 @ @ 7533 6264 7353 4266 6993 8991 1998 HH HH 6444 5355 9081 1089 5445 5994 4995 @ @ 8442 5175 6354 4356 HH HH 8622 7173 8262 3177 7992 2997 @ @ 9441 5085 3996 HH HH 7443 5265 8712 8172 2178 @@ 6084 9531 4086 9351 7623 7263 3267 C.Q.F.D.