E6904. Bavardages inutiles
Zig choisit un nombre entier N positif et indique à Puce que la somme des chiffres de N est égale à 13.
Puce cherche alors à trouver N en posant une série de questions. A chacune d’elles, Puce choisit un nombre entier X et Zig lui répond en donnant la somme des chiffres de |N – X|, à savoir la somme des chiffres de la valeur absolue de la différence de X avec N.
Déterminer le nombre minimal de questions que Puce doit poser pour être absolument certain de trouver le nombre de Zig.
Résolution
Puce doit poser au minimum 13 questions pour être certain de trouver l’entier N.
Les premières questions concerneront |N-1|, |N-2|, |N-3|, etc. : la somme des chiffres ira décroissante jusqu’à ce que Puce dépasse le chiffre des unités de N, la somme des chiffres fera alors un bond.
Concrètement, imaginons que l’écriture de N se termine par ...000u, c’est-à-dire N = 10k * N’ + u avec k>0, N’ non multiple de 10, et u compris entre 0 et 9. Les réponses successives aux premières question de Puce vaudront 12, 11, 10, jusqu’à la u-ième question. A la u+1-ième question, la somme des chiffres de |N-(u+1)| = 10k * N’ - 1 vaudra (13-u) + (9k-1).
Ainsi, avec u+1 questions, Puce peut déterminer le chiffre des unités u et le nombre de zéros qui le précèdent.
Puce se retrouve avec un nouveau nombre N’ a découvrir, dont la somme des chiffres vaut 13-u et dont le nouveau chiffre des unités est supérieur ou égal à 1.
Il peut économiser la question sur la somme des chiffres de |N’-1| = |N-u-1*10k| qui vaudra nécessairement 13-u-1 car N’ n’est pas multiple de 10.
Il peut donc réitérer la procédure ci-dessus à partir de |N’-2| pour trouver le chiffre non nul suivant et le nombre de 0 qui le précèdent.
De proche en proche, Puce peut donc déterminer tous les chiffres non nuls u1, u2, u3, … de N et le nombre 0 qui les séparent, en 1+u1+u2+u3+... questions.
Et ce jusqu’à la dernière étape, c’est-à-dire au moment où Puce n’a plus que le dernier chiffre non nul de N à trouver (dit autrement, le premier chiffre de gauche dans l’écriture décimale de N). Avec les mêmes notations que précédemment, il lance la procédure et demande la somme des chiffres de
|N’-2|, |N’-3|, |N’-4|, etc. jusqu’à ce que Zig annonce « zéro ! ». Puce s’arrête évidemment, il alors aura posé 1 question de moins que la valeur du chiffre trouvé.
Au final, Puce aura donc posé 1+u1+u2+u3+...+(ux-1) = Σui = 13 questions.
Au verso une illustration !
Soit à trouver le nombre N = 23 010 070. Les questions et les réponses successives seraient les suivantes :
Etape Question de Puce Réponse de Zig Conclusion de Puce
1 sdc(|N-1|) N-1 = 23 010 069 donc : 21 21>13 donc s’écrit 12-u+9k k=1, u=0
sdc(|N-10|) vaut néc. 12 2 sdc(|N-20|) N-20 = 23 010 050 donc : 11 11<12 on continue
3 sdc(|N-30|) N-30 = 23 010 040 donc : 10 idem
4 sdc(|N-40|) N-40 = 23 010 030 donc : 9 idem
5 sdc(|N-50|) N-50 = 23 010 020 donc : 8 idem
6 sdc(|N-60|) N-60 = 23 010 010 donc : 7 idem
7 sdc(|N-70|) N-70 = 23 010 000 donc : 6 idem
8 sdc(|N-80|) N-80 = 23 009 990 donc : 32 32>6 donc s’écrit 12-u+9k k=3, u=7
sdc(|N-10070|) vaut néc. 5 9 sdc(|N-20070|) N-20070 = 22 990 000 donc : 22 22>5 donc s’écrit 5-u+9k
k=2, u=1
sdc(|N-1010070|) vaut néc. 4 10 sdc(|N-2010070|) N-2010070 = 21 000 000 donc : 3 3<4 on continue
11 sdc(|N-3010070|) N-3010070 = 20 000 000 donc : 2 idem
12 sdc(|N-4010070|) N-4010070 = 19 000 000 donc : 10 10>3 donc s’écrit 4-u+9k k=1, u=3
sdc(|N-13010070|) vaut néc. 1 13 sdc(|N-23010070|) zéro !