Résoudre un exercice d'arithmétique sur le code INSEE
-
Yyonel dernière édition par Hind
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.
-
Cchompchomp dernière édition par
Bonjour,
a.- trouve ton numéro INSEE avec la clé
- trouve le nombre A correspondant
- calcule R
- calcule la clé, ça doit coller avec ta clé.
b. Pareil sauf que là tu n'as pas la réponse.
-
Yyonel dernière édition par
Merci pour votre réponse ! Où dois-je trouver mon "numéro d'inscription sur le registre d'état civil" ?
-
Cchompchomp dernière édition par
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 !
-
Yyonel dernière édition par
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
-
Cchompchomp dernière édition par
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.
-
Yyonel dernière édition par
Ah d'accord je croyais qu'il fallait additionner les 13 premiers chiffres.
-
Yyonel dernière édition par
Pour le deuxième ca donne 1590742187118=97.16399403990+88
97-88=9
-
Cchompchomp dernière édition par
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
-
Yyonel dernière édition par
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. ?"
-
Yyonel dernière édition par
Up !
-
Cchompchomp dernière édition par
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)
-
Yyonel dernière édition par
101810^{18}1018≡89(97) ?
-
Yyonel dernière édition par
B.101810^{18}1018≡89B(97)
G.191319^{13}1913≡15G(97)
C1C_1C1.10810^8108≡81C181C_181C1(97)
C2C_2C2.10210^2102≡3C23C_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)
-
Cchompchomp dernière édition par
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.
-
Yyonel dernière édition par
b. 89B+15G+81C1+3C2=3920808
100.S≡3920808(97)
3920808/97=40420 il reste 68
97-68=29
-
Yyonel dernière édition par
c. 89B+15G+81C1+3C2=8760797
100.S≡8760797(97)
8760797/97=90317 il reste 48
97-48=49
-
Yyonel dernière édition par
C'est bon ?
-
Cchompchomp dernière édition par
C'est ça.
Pour la rédaction tu dois bien expliciter les valeurs de B, G, C1 et C2.
-
Yyonel dernière édition par
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_k−ak).
b. En déduire que l'erreur est non détectée si, et seulement si, 97 divise α−ak-a_k−ak. Conclure."
-
Cchompchomp dernière édition par
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}1021−k ou quelque chose comme ça.
-
Yyonel dernière édition par
Dans l'énoncé, il est bien marqué 100×S'=100×S+10k+1S+10^{k+1}S+10k+1(α−ak-a_k−ak).
-
Cchompchomp dernière édition par
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.
-
Yyonel dernière édition par
Oui mais comment répondre à la question a. ?
-
Cchompchomp dernière édition par
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.
-
Yyonel dernière édition par
100S=a21100S=a_{21}100S=a21.101810^{18}1018+...+ak+a_k+ak.101010^k+a1+a_1+a1.10210^2102 ?
-
Cchompchomp dernière édition par
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)
-
Yyonel dernière édition par
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
-
Cchompchomp dernière édition par
Oui !
Maintenant 100S', c'est-à-dire qu'on fait introduit une erreur sur le chiffre aka_kak
-
Yyonel dernière édition par
100S'=a21=a_{21}=a21.102210^{22}1022+...+α.10k+1?10^{k+1?}10k+1?+...+a1+a_1+a1.10210^2102
-
Cchompchomp dernière édition par
C'est ça, on a juste remplacé aka_kak par α.
La différence des deux, maintenant.
-
Yyonel dernière édition par
100S'-100S=α.101010^{k+1}−ak-a_k−ak.10k+110^{k+1}10k+1
100S'=100S+10k+1=100S+10^{k+1}=100S+10k+1(α−ak-a_k−ak)
-
Cchompchomp dernière édition par
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...
-
Yyonel dernière édition par
Je n'ai pas encore vu ce théorème, ou peut-être sous un autre nom.
Qu'est ce que c'est ?
-
Cchompchomp dernière édition par
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)
-
Yyonel dernière édition par
Par quoi je commence ?
-
Cchompchomp dernière édition par
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_k−ak) ?
Quelles conséquences pour α−ak-a_k−ak en termes de divisibilité par 97 ?
-
Yyonel dernière édition par
Si le reste est différent alors 100S et 100S' ne sont pas congrus modulo 97.
-
Cchompchomp dernière édition par
yep
-
Yyonel dernière édition par
Donc 10k+110^{k+1}10k+1(α−ak-a_k−ak) n'est pas congru à 100S' modulo 97 et de même pour α−ak-a_k−ak