Le message caché de Voyager

...si c'est pas tordu, ça...

Ce défi est tiré de c0d1ngUP 2024

La plaque de métal déposée sur les sondes du programme Pioneer est bien documentée, ainsi, en apparence, que le disque d'or présent sur les sondes Voyager 1 et 2. Mais dans ce second cas, Mulder a repéré sur la bordure du disque une série de nombres dont le sens n'est pas documenté :

610, 7629, 23, 620, 4187, 3, 1221, 6944, 534, 4188, 4383, 1597, 4648, 5203, 
7412, 12, 265, 4221, 1833, 1699, 987, 125, 8373, 2982, 686, 4565, 3, 8828, 
7146, 760, 9, 2875, 610, 1743, 20, 21, 44, 4, 8464, 5223, 63, 1141, 92, 7176, 
8972, 757, 89, 1601, 666, 579, 1597, 2749, 5634, 3, 62, 1385, 987, 343, 521, 
769, 9357, 4343, 233, 676, 9728, 524, 1783, 9378, 164, 2, 276, 267, 1221, 
6788, 144, 2607, 4715, 105, 7176, 6156, 1597, 7016, 5875, 3581, 8370, 
3217, 233, 5786, 647, 21, 2631, 4936, 1621, 32, 8, 147, 615, 1975, 1982, 2608, 
3, 1987, 7464, 253, 22, 1366, 617, 8, 6911, 665, 2649, 2736, 4565, 8, 1886, 
676, 3770, 1050, 118, 988, 234, 5171, 180, 1655, 2822, 8752, 1843, 754, 2586, 
76, 577, 6794, 4327, 4183, 1982, 1076, 717, 4304, 343, 4215, 3108, 98, 1983, 
1021, 149, 1027, 7757, 6804, 2631, 8273, 5834, 503, 167, 8371, 490, 1173, 34, 
369, 1631, 31, 269, 377, 6783, 4336, 1619, 4191, 4092, 6765, 7027, 6834, 
1312, 3199, 488, 2683, 998, 1223, 6765, 621, 3203, 704, 2593, 91, 36, 71, 
5181, 987, 767, 92, 4230, 2762, 1674, 21, 5841, 281, 7990, 993, 5546, 854, 
291, 756, 987, 2642, 2650, 6388, 487, 635, 1597, 861, 4660, 2914, 8365, 3199, 
2584, 4202, 6834, 2211, 4215, 4240, 5804, 767, 5867, 5244, 997, 1, 2008, 
1746, 1775, 252, 4364, 861, 9747, 1165, 7145, 526, 2644, 4867, 1632, 4182, 
409, 240, 4825, 22, 36, 1009, 403, 103, 1653, 137, 4191, 1008, 9494, 576, 147, 
9595, 987, 2620, 2584, 1618, 5257, 4566, 2, 6841, 530, 2584, 42, 7341, 3215, 
7410, 1236, 1619, 4437, 5178, 3008, 1597, 9356, 1652, 7176, 6917, 34, 59, 
6160, 12, 666, 1984, 2584, 4797, 1666, 2263, 167, 4213, 9446, 1225, 1657, 
610, 2675, 8377, 2674, 159, 1014, 8, 1513, 1846, 7158, 1021, 148, 95, 4327, 
3008, 145, 4419, 9498, 47, 147, 8378, 2296, 2964, 18, 5262, 3571, 2775, 2961, 
115, 275, 1597, 500, 11, 222, 7032, 5346, 8, 5787, 2216, 637, 6772, 233, 720, 
1631, 7794, 1597, 324, 2, 7231, 6938, 3627, 5314, 144, 9351, 717, 89, 8, 377, 
699, 5, 4336, 9451, 7810, 1137, 264, 1686, 3286, 2695, 7417, 21, 3461, 2629, 
7841, 448, 294, 2, 3961, 1144, 196, 4341, 6854, 6909, 9815, 1310, 1411, 3, 
7762, 4236, 6927, 4360, 3024, 2584, 1665, 672, 8, 3107, 6807, 610, 489, 68, 
610, 36, 270, 2996, 7697, 906, 7181, 78, 7875, 3304, 3427, 6865, 3003, 213, 
4469, 9501, 1000, 55, 461, 2262, 39, 708, 2593, 77, 2443, 2474, 1071, 1, 8603, 
1023, 8430, 2668, 180, 5172, 830, 1243, 4, 267, 94, 6, 1886, 2610, 66, 385, 
9441, 145, 1113, 4199, 669, 1597, 2441, 6985, 1678, 758, 15, 1244, 2598, 
1977, 4183, 1877, 1906, 9964, 4581, 8363, 1835, 236, 8362, 212, 289, 5779, 
6765, 1688, 911, 377, 146

En partant de la constatation que la séquence d'environ 400 nombres, tous plus petits que 10000 contient 17 nombres de la suite de Fibonacci (alors que statistiquement, pour un tirage uniforme, on devrait en avoir une dizaine seulement), Mulder fini par conjecturer que les nombres forment un message secret, basé sur la décomposition de Zeckendorf des entiers :

Tout nombre entier peut être décomposé de manière unique comme somme de nombres non consécutifs de la suite de Fibonacci. Le début de la suite de Fibonacci (on enlève 0 et les doubles) est 1, 2, 3, 5, 8, 13, 21.... Le nombre 16 se décompose de manière unique en 13 + 3 qui sont bien des entiers de Fibonacci non consécutifs. Le nombre 21 se décompose juste en 21.

La taille de la décomposition est variable. Par exemple 16 a une décomposition de taille 2, et 21, une décomposition de taille 1.

Dans la suite, on note z(n) la taille de la décomposition moins 1. Ainsi, si m est un entier de Fibonacci, alors z(m)=0. On a aussi z(16) = 1 (puisque la décomposition contient deux entiers), ou z(17) = 2 (puisque 17 = 13 + 3 + 1). Si on ne considère que des nombres n tels que z(n) < 4, une séquence de 3 entiers qui ont l'air quelconques permet de calculer 3 chiffres entre 0 et 3.

Par exemple [16, 21, 20] donne [1, 0, 2] (puisque z(16)=1, z(21)=0 et z(20) = 2). Et ces 3 chiffres (entre 0 et 3) peuvent être lus comme les chiffres d'un nombre écrit en base 4 : [1, 0, 2]⇨18 car le nombre 18 s'écrit 102 en base 4 (1 x 4² + 0 x 4 + 2 = 18).

Ainsi, avec 3 nombres qui ont l'air quelconques, on peut obtenir à l'aide de cette transformation un nouvel entier entre 0 et 63 (63 est le plus grand nombre qu'on peut écrire sur 3 chiffres en base 4).

Il ne reste plus qu'un pas pour associer un caractère à cet entier entre 0 et 63, à l'aide d'une table bien choisie.

Et ce type de table (contenant les majuscules, les minuscules, les chiffres et les deux symboles . et _) a justement été trouvé par Mulder lors d'une fouille chez l'agent Kricek :

 A  B  C  D  E  F  G  H  I  J  K  L  M
00 01 02 03 04 05 06 07 08 09 10 11 12 

 N  O  P  Q  R  S  T  U  V  W  X  Y  Z 
13 14 15 16 17 18 19 20 21 22 23 24 25 

 a  b  c  d  e  f  g  h  i  j  k  l  m
26 27 28 29 30 31 32 33 34 35 36 37 38

 n  o  p  q  r  s  t  u  v  w  x  y  z
39 40 41 42 43 44 45 46 47 48 49 50 51

 0  1  2  3  4  5  6  7  8  9
52 53 54 55 56 57 58 59 60 61 

 .  _
62 63

Mulder s'attaque donc au travail : La liste des nombres du code à déchiffrer commence par : 610, 7629, 23.

Le nombre 610 est un nombre de Fibonacci. Sa décomposition est juste 610 et z(610)=0.

Le nombre 7629 se décompose de manière unique en 21 + 233 + 610 + 6765. La décomposition contient 4 entiers, donc z(7629)=3.

Le nombre 23 se décompose en 2 + 21. La décomposition contient 2 entiers donc z(23) = 1.

On obtient donc la séquence de 3 chiffres 0, 3, 1. Interprétée en base 4, 031 vaut 13, et dans la table, 13 correspond à la lettre N.

La première lettre du message est donc N.

Épargnez du temps à Mulder en déchiffrant ce code pour lui, et validez le défi en donnant un seul mot indiquant où ils les attendent (vous aurez besoin d'une carte).

Type de retour
une chaîne de caractères
Entrées du problème
Pas de données d'entrée
Vous devez être connecté.e pour proposer une réponse au défi
Vous devez être connecté.e pour accéder aux forums.