Empreintes digitales spongieuses

Encore un coup de Bob...

Ce défi est tiré de c0d1ngUP 2024

Walter Skinner a reçu une base de données d'empreintes digitales dont les prélèvements ont tous été effectués lors d'événements surnaturels. Il y a par conséquent de forte chance pour que certaines de ces empreintes appartiennent à des Alien Bounty Hunter. En effet, ceux-ci peuvent facilement se métamorphoser en humains et duper les forces de l'ordre.

Il demande à Scully d'étudier plus en détails ces empreintes afin de déterminer si malgré leurs similitudes apparentes avec les empreintes humaines il n'existerait pas un moyen de les discriminer.

En première analyse, Scully remarque que certaines empreintes présentent des zones particulières. Ces zones de 3 x 3 pixels comportent des pixels dont les valeurs des 3 derniers bits (bits de poids les plus faibles) des niveaux de gris compris entre 0 et 255 sont alternées et dont l'agencement pourrait faire penser à la structure d'une éponge. Plus précisément, les 3 derniers bits du bloc de 3 x 3 pixels ont des alternances de bits opposées. Les images suivantes, donnent les deux seules configurations possibles :

Scully a l'intuition que ces « zones éponge » pourraient être caractéristiques de la faculté de métamorphose des Alien Bounty Hunter. Mais elle se rend compte rapidement que son hypothèse ne tient pas. Effectivement, ces zones sont aussi présentes sur quelques empreintes de faux suspects membres du FBI.

Elle appelle Pendrell à l'aide. Pendrell a alors une intuition (venue d'ailleurs) : lorsque le nombre de zones n'est pas le produit exact de deux nombres premiers ayant le même nombre de chiffres, les empreintes correspondent aux empreintes des agents du FBI, sinon, ce sont probablement des empreintes aliens.

Ainsi, si le nombre de zones éponges de l'image vérifiant les propriétés précédentes découvertes par Scully est par exemple : 9 = 3 x 3, 481 = 13 x 37 ou 703 = 19 x 37, alors les empreintes appartiennent à des Aliens Bounty Hunter. Par contre, si le nombre de zones est par exemple : 8 = 2 x 4 (non, 4 n'est pas premier) ou 553 = 7 x 79 (les deux facteurs n'ont pas le même nombre de chiffres), alors les empreintes appartiennent à des humains.

Il s'agit maintenant de vérifier que l'intuition de Pendrell est une vérité. Pour cela, vous disposez d'une archive (zip) contenant les 80 empreintes digitales.

Pour valider ce défi, il vous faudra donner la liste des numéros d'images correspondant à des empreintes d'Aliens Bounty Hunter. Par exemple, si les images correspondantes étaient fingerprints_03.png, fingerprints_30.png et fingerprints_57.png alors la liste 3, 30, 57 validerait le défi.

Testez votre code :

Le bout d'empreinte suivant : contient 6 zones éponges : quatre du premier type (colorées en rouge sur l'image qui suit) et deux du second (colorées en vert) : . Au total il y a donc 6 zones, et comme 6 se décompose en exactement deux facteurs premiers 2 x 3 et que chaque facteur a exactement le même nombre de chiffres (ici un seul), ces empreintes sont caractéristiques d'un Alien Bounty Hunter ! En réalité, il faut bien sûr réaliser cette analyse sur l'empreinte complète, et pas juste sur une partie.

Type de retour
une séquence de nombres entiers
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.