A153 Multiplier pour décroître, diviser pour croître [***** à la main]
Solution
Multiplier pour décroître…
La réponse est oui : il est toujours possible de transformer un entier N fixé à l’avance > 10 en un entier 9 .
Don Coppersmith d’IBM Research a trouvé l’algorithme suivant qui permet d’obtenir à coup sûr l’entier 9:
Soit un entier naturel N. Le principe des tiroirs ou principe de Dirichlet permet d’affirmer qu’il existe deux entiers p et q tels que 0 p q N et 10
p 10
qmoduloN . De cette manière l’entier N =
110
q 10
pest un multiple de N.
Ce nombre est de la forme 10
r 1 = 999..9 avec r = q – p.
On multiplie N par
1333 ... 331 3
7 10
r
de façon à obtenir 33…3066…69 qui comporte r-1 fois le chiffre 3, puis un seul zéro, puis r-1 fois le chiffre 6 et se termine par 9, soit au total 2r chiffres. D’où N = 33….366…69 qui a 2r-1 chiffres et que l’on multiplie par 3 pour obtenir
2un nombre à 2r chiffres 10…010…07. Tous les chiffres sont nuls à l’exclusion des chiffres extrêmes 1 et 7 et du chiffre médian 1 qui occupe la r-ième position. Le nombre transformé
N vaut donc 117. Multiplié par 6, il donne 702 soit 72 après élimination du zéro central qui
3aboutit à 9000 après multiplication par 125.D’où le nombre final qui est toujours égal à 9.
CQFD.
Evoquons pour mémoire d’autres pistes de recherche qui permettent d’effectuer la transformation dans de très nombreux cas mais ne l’assurent pas de manière certaine.
Daniel Collignon :
Si N = 2^p*5^q*R avec R non multiple de 2, ni de 5, alors 5^p*2^q*N = 10^(p+q)*R, et l’on se ramène à R en supprimant les p+q zéros.
On peut donc supposer que N n’est pas un multiple de 2, ni de 5.
Tout de suite je pense au résultat suivant : si N n’est pas un multiple de 2, ni de 5, alors il existe un multiple de N ne s’écrivant qu’avec des 0 et des 1.
Preuve :
Considérons la suite Un = 1…(« n fois le chiffre 1 »)…1, pour n = 1..N.
Soit il existe Un = 0 modulo N.
Sinon d’après le principe de Dirichlet, il existe p>q tels que Up = Uq modulo N.
Dans ce cas, Up – Uq convient.
Si l’on savait exploiter ce résultat, cela reviendrait à ne travailler qu’avec les nombres Un.
Voyons un peu ce que cela donne pour les premières valeurs > 10 : 11 – 209 – 29 – 203 – 23 – 207 – 27 – 108 – 9
11 – 308 – 38 – 190 – 19 … – 9 11 – 407 – 47 – 705 – 75 – 300 – 3 11 – 506 – 56 – 7000 – 7
11 – 605 – 65 – 130 – 13 …– 7 11 – 704 – 74 – 370 – 37 – 407 … – 3
11 – 803 – 83 – 2905 – 295 – 590 – 59 – 1003 – 13 …– 7 11 – 902 – 92 – 2300 – 23 … – 9
12 – 60 – 6
12 – 108 – 18 – 90 – 9 12 – 300 – 3
(les opérations autorisées ne modifient pas le caractère de divisibilité par 3 et par 9).
13 – 104 – 14 – 70 – 7 13 – 1001 – 11 …– 3, 7 ou 9
14 – 70 – 7 14 – 308 …– 9 15 – 30 – 3 15 – 60 – 6 15 – 90 – 9 16 – 80 – 8
16 – 208 – 28 – 140 – 14 …– 7
16 – 240 – 24 – 120 – 12 …– 3, 6 ou 9 16 – 400 – 4
17 – 102 – 12 …–3, 6 ou 9 17 – 1003 – 13 …– 7
18 – 90 – 9 19 – 209 – 9
19 – 608 – 68 – 1700 – 17 …– 3, 6 ou 7
Parallèlement, j’ai regardé les congruences 10^n modulo N pour n variant de 1 à N-1, en cherchant les cas où cette valeur vaut -1, -2, …, -9 et -10^k, de manière à se ramener à 11..19.
Ainsi, on trouve que : 10^2 + 5 = 0 modulo 21 10^4 + 5 = 0 modulo 23 10^2 + 8 = 0 modulo 27 10^4 + 5 = 0 modulo 29 10^5 + 6 = 0 modulo 31
pour 33, 37 et 39, cela ne fonctionne pas et il faut donc trouver autre chose…
33 se ramène à 39, puisque 33 – 1056 – 156 – 39000 – 39 37 (on l’a déjà vu) : 37 – 407 – 47 – 705 – 75 – 300 – 3 39 – 702 – 72 – 9000 – 9
10^4 + 4 = 0 modulo 41 10^6 + 8 = 0 modulo 43 10^7 + 2 = 0 modulo 47 10^5 + 9 = 0 modulo 49 10^2 + 2 = 0 modulo 51 10^2 + 6 = 0 modulo 53 10^6 + 8 = 0 modulo 57 10^3 + 3 = 0 modulo 59 Autres contributions :
On fait au préalable les observations suivantes :
- si pour tout entier N>10, il existe un algorithme qui permet d’obtenir N’ < N, alors on est certain d’obtenir un nombre à un chiffre en réalisant la chaine
N N
1 N
2 ... N
k avecN
k à un chiffre.- tout entier N qui contient au moins un zéro est transformé en un entier N’ < N.
- tout entier N pair génère N’ = k obtenu à partir de 5N dont le dernier chiffre est un zéro.
- tout entier N qui se termine par 5 génère N’ = N/5 obtenu à partir de 2N dont le dernier est un zéro.
Il convient donc de se focaliser sur les entiers qui ne contiennent pas de zéro et se terminent par 1,3,7 ou 9.
1ère piste :
Soit N =
abcd...k
à p chiffres. La fractionN
1
s’écrit0,00..0a
1a
2....a
ma
1a
2....a
m...
Les p-1 premièresdécimales après la virgule sont nulles et les décimales
a
1a
2....a
m se reproduisent selon un cycle de longueur m.Soit
X
i =] 1
N Ent[ 10
i p
pour i=1,2,3,…. Le produit
NX
i est égal à10...0b
1b
2...b
p avec i fois le chiffre zéro après le chiffre 1 etb
1b
2...b
p qui est un entier dont le nombre de chiffres non nuls est au plus égal à p.Le nombre résultant est N’ =
1b
1b
2...b
p à p+1chiffres. S’il contient deux zéros ou s’il est pair et qu’il contient un zéro, N’ devient N’’ < N….Comme on n’a pas l’assurance d’obtenir systématiquement des nombres N’ ayant l’une ou l’autre de ces deux propriétés, on recherchera par tâtonnements les nombres X pairs multiples de2,4,8,16,… et les plus proches possibles de
] 1 N Ent[ 10
i p
de telle sorte que N’ en l’absence de zéro dans la partie
b
1b
2...b
p soit divisible par une puissance de 2 la plus élevée possible .Exemple : N = 7317. On a
N
1
= 0,000136669033347…..LesX
i =] 1 N Ent[ 10
i p
valent respectivement 14,137,1367,13667,136669,1366681,…. pour i =1, 2,3,….
Si l’on prend X = 1368 multiple de 8, on obtient N’ = NX = 1368*7317 = 10009656 qui devient 19656 puis 19656*125 = 2457000, d’où 2457 < 7317.
On peut mieux faire avec X=1376 multiple de 32, on a N’ = NX = 1376*7317 = 10068192 qui devient 168192 puis 168192*390625 = 65700000000, d’où 657 < 7317.
2ème piste :
Soit N =
abcd...k
à p chiffres. On cherche les multiplicateurs successifs1 2 k 1
2 3 1 2
1
, m m , m m m ,..., m ...m m
m
tels que les produits N*m
k...m
2m
1 soient de la forme1 p p 2
1
r ...r 0...0r
r
avecr
1r
2...r
p à p chiffres comme N etr
p1 chiffre pair. Il arrive un moment où le nombre pair N’ =r
1r
2...r
pr
p1donne naissance à un nombre N’’ < N ou bien parce que l’un au moins des termesr
i est nul ou/et parce que le nombre N’ est divisible par une puissance de 2Exemple : N= 2849. Avec