Résoudre un exercice d'arithmétique sur le code INSEE


  • Y

    Bonjour à tou(tes)s. J'ai un DM de spé a rendre lundi et je bloque sur le dernier exercice.
    Voilà la première partie :

    "En 1940, le Contrôleur Général des Armées, René Camille, crée un numéro à 12 chiffres appelé "numéro de français":
    -deux chiffres pour l'année de naissance
    -deux chiffres pour le mois de naissance
    -deux chiffres pour le département de naissance
    -trois chiffres pour le numéro de la commune de naissance
    -trois chiffres pour le numéro d'inscription sur le registre d'État civil.
    Un treizième chiffre pour désigner le sexe de la personne (2 pour les femmes et 1 pour les hommes) fut ajouté en tête.
    En 1970, avec le développement de l'informatique, une clé de détection d'erreur est ajoutée à la fin du numéro, qui passe à 15 chiffres : si A est l'entier formé par les 13 premiers chiffres et R le reste dans la division euclidienne de A par 97, alors la clé est : K=97-R.

    a. Vérifier la clé de son numéro d'INSEE.
    b. Calculer la clé du numéro 1 59 07 42 187 118 ??"

    Toute forme d'aide est la bienvenue. Merci d'avance. 😄


  • C

    Bonjour,
    a.

    1. trouve ton numéro INSEE avec la clé
    2. trouve le nombre A correspondant
    3. calcule R
    4. calcule la clé, ça doit coller avec ta clé.

    b. Pareil sauf que là tu n'as pas la réponse.


  • Y

    Merci pour votre réponse ! Où dois-je trouver mon "numéro d'inscription sur le registre d'état civil" ?


  • C

    Sur ta carte vitale, il y a les 13 chiffres + la clé de 2 chiffres à la fin.
    Ou au pire tu peux essayer avec celui de tes parents !


  • Y

    Je n'ai pas encore 18 ans donc je vais prendre le numéro de mes parents.
    Ça donne 1.63.04.59.172.012.56.
    41/97=0 et il reste 41
    K=97-41=56


  • C

    C'est le bon résultat, mais pourquoi écrire 41/97 ?
    L'égalité c'est 1 630 459 172 012 = 97 * 16 808 857 443 + 41
    Après le K c'est bon.

    Il ne reste plus qu'à faire la même chose avec 1 59 07 42 187 118.


  • Y

    Ah d'accord je croyais qu'il fallait additionner les 13 premiers chiffres.


  • Y

    Pour le deuxième ca donne 1590742187118=97.16399403990+88
    97-88=9


  • C

    Oui clé 9 pour le deuxième.

    Et sinon, "A est l'entier formé par les 13 premiers chiffres", on ne parle pas de faire la somme, ça fait juste un nombre de 13 chiffres. Une calculatrice collège ça suffit pas 😛


  • Y

    D'ailleurs même ma calculatrice graphique ne fait pas ce calcul, elle me donne 1.639940399.10^10.

    Après il y a la deuxième partie de l'exercice, sur la clé d'un RIB :

    " 1. Le numéro du RIB se compose de 21 caracteres avec lesquels on calcule deux chiffres formant la clé. Cinq caractères sont pour le code banque, cinq pour le code guichet et onze pour le numéro de compte.
    -Pour calculer la clé, si certains caractères sont des lettres, on les remplace par leur correspondant numérique : A par 1, B par 2, ... I par 9, J par 1, ... R par 9, S par 2 et non 1, T par 3, ... Z par 9

    -Si on note S le nombre formé par les 21 chiffres, on effectue la division euclidienne de 100.S par 97 et on prend pour clé la différence entre 97 et le reste de la division.
    100.S=B.10^18 +G.10^13 +C1.10^8 +C2.10^2 .

    a. Montrer que : 100.S≡89B+15G+81C1+3C2 (97)
    b. Vérifier la clé du RIB suivant : 30003.01835.00050406322.29
    c. Calculer la clé du RIB ci-dessous :
    Code établissement Code guichet Numero de compte Clé RIB
    14506. 00017. 72815523831. ?"


  • Y

    Up !


  • C

    Pour le calcul, la calculatrice de Windows gère les nombres avec beaucoup de chiffres, quand on la met en affichage scientifique. Pour trouver un reste comme ça, il y a plus pratique, tu vas sur http://noombaz.fr et il n'y a qu'à taper la division 1590742187118/97

    Pour ta 2e partie,
    a. On prend terme par terme :
    101810^{18}1018 ≡ ? [97]
    Donc B·101810^{18}1018 ≡ ? [97]
    Et idem pour les 3 autres termes.

    b. identifie les nombres B, G, C1C_1C1 et C2C_2C2 dans tout ça, puis calcule 100S grâce au a. Ensuite le reste de la division par 97 donnera la clé, normalement 29.
    (clé = 97-reste, comme pour le code INSEE)


  • Y

    101810^{18}1018≡89(97) ?


  • Y

    B.101810^{18}1018≡89B(97)
    G.191319^{13}1913≡15G(97)
    C1C_1C1.10810^810881C181C_181C1(97)
    C2C_2C2.10210^21023C23C_23C2(97)
    B.101810^{18}1018+G.101310^{13}1013+C1.10810^8108+C2.10210^2102≡89B+15G+81C1+3C2(97)
    Donc 100.S≡89B+15G+81C1+3C2(97)


  • C

    Exactement.
    Maintenant il faut identifier B (code banque), G (code guichet=, et C (code compte) dans 30003.01835.00050406322
    (le 29 final c'est la clé qu'on doit retrouver).
    Ensuite il faut retrouver comment on décompose C en C1C_1C1 et C2C_2C2.
    Pour ça, on écrit les 21 chiffres, on multiplie par 100, ça fait 23 chiffres, et on vérifie à quoi correspondent les puissances de 10 données dans la formule.


  • Y

    b. 89B+15G+81C1+3C2=3920808
    100.S≡3920808(97)
    3920808/97=40420 il reste 68
    97-68=29


  • Y

    c. 89B+15G+81C1+3C2=8760797
    100.S≡8760797(97)
    8760797/97=90317 il reste 48
    97-48=49


  • Y

    C'est bon ?


  • C

    C'est ça.
    Pour la rédaction tu dois bien expliciter les valeurs de B, G, C1 et C2.


  • Y

    D'accord merci.
    Deuxième question:
    "Soit a1a_1a1,a2a_2a2,...,a21a_{21}a21 les 21 premiers chiffres d'un RIB, 100.S le nombre utilisé dans le calcul de la clé avec le bon code et 100.S' ce même nombre avec le code comportant une erreur.
    Le chiffre aka_kak(1≤k≤21) à été remplacé par le chiffre α.
    a. Montrer que 100.S'=100.S+10k+1S+10^{k+1}S+10k+1−ak-a_kak).
    b. En déduire que l'erreur est non détectée si, et seulement si, 97 divise α−ak-a_kak. Conclure."


  • C

    Je prends un exemple.
    Si j'ai le nombre 45 632 729 et je remplace le 6 par un 1 :
    Je fais - 600 000 ou -6·10510^5105, ça donne 45 032 729.
    Puis je fais + 100 000 ou +1·10510^5105 et ça donne 45 132 729.
    Au final, j'ai fait +105+10^5+105(1-6).

    Maintenant, il y a un problème dans l'énoncé, au niveau de l'exposant du 10.
    Si on numérote a1,a2,...,a21, ça ne peut pas donner 10k+110^{k+1}10k+1. Plutôt 1021−k10^{21-k}1021k ou quelque chose comme ça.


  • Y

    Dans l'énoncé, il est bien marqué 100×S'=100×S+10k+1S+10^{k+1}S+10k+1−ak-a_kak).


  • C

    Alors les chiffres sont numérotés a21,a20...a3,a2,a1
    (a1 est le chiffre des unités, quoi)
    Dans ce cas ça marche.


  • Y

    Oui mais comment répondre à la question a. ?


  • C

    100S = a21a_{21}a21·10?10^?10? + ... + aka_kak·10?10^?10? + ... + a1a_1a1·10?10^?10?
    Écrire de la même façon 100S'.
    En déduire 100S' - 100S.


  • Y

    100S=a21100S=a_{21}100S=a21.101810^{18}1018+...+ak+a_k+ak.101010^k+a1+a_1+a1.10210^2102 ?


  • C

    a1a_1a1·10210^2102
    Mais après il faut garder une cohérence :
    a2a_2a2·10310^3103
    a3a_3a3·10?10^?10?
    ...
    aka_kak·10k10^k10k ✗ non
    ...
    a21a_{21}a21·101810^{18}1018 ✗ non

    (et ne pas oublier les pointillés avant a1)


  • Y

    100S=a21100S=a_{21}100S=a21.102210^{22}1022+...+ak+a_k+ak.10k+110^{k+1}10k+1+...+a1+a_1+a1.10210^2102


  • C

    Oui ! 😁
    Maintenant 100S', c'est-à-dire qu'on fait introduit une erreur sur le chiffre aka_kak


  • Y

    100S'=a21=a_{21}=a21.102210^{22}1022+...+α.10k+1?10^{k+1?}10k+1?+...+a1+a_1+a1.10210^2102


  • C

    C'est ça, on a juste remplacé aka_kak par α.
    La différence des deux, maintenant.


  • Y

    100S'-100S=α.101010^{k+1}−ak-a_kak.10k+110^{k+1}10k+1
    100S'=100S+10k+1=100S+10^{k+1}=100S+10k+1−ak-a_kak)


  • C

    😁
    Maintenant on utilise ça pour conclure.
    L'erreur est détectée si la clé n'est pas la même pour S' et S : K' ≠ K
    (et, hum, on ne confond pas K et k)
    Il y a du théorème de Gauss dans l'air...


  • Y

    Je n'ai pas encore vu ce théorème, ou peut-être sous un autre nom.
    Qu'est ce que c'est ?


  • C

    Si un nombre entier a divise le produit de deux autres nombres entiers b et c, et si a est premier avec b, alors a divise c.

    théorème de Gauss sur wikipedia (on dit aussi Lemme de Gauss, et c'est une généralisation du Lemme d'Euclide, donc on le rencontre sous plusieurs noms)


  • Y

    Par quoi je commence ?


  • C

    K ≠ K' qu'est-ce que ça implique pour 100S et 100S', en termes de divisibilité ou de congruence ?
    Quelles conséquences pour 10k+110^{k+1}10k+1−ak-a_kak) ?
    Quelles conséquences pour α−ak-a_kak en termes de divisibilité par 97 ?


  • Y

    Si le reste est différent alors 100S et 100S' ne sont pas congrus modulo 97.


  • C

    yep


  • Y

    Donc 10k+110^{k+1}10k+1−ak-a_kak) n'est pas congru à 100S' modulo 97 et de même pour α−ak-a_kak


Se connecter pour répondre