Anniversaire
-
Mmathtous dernière édition par
Bonjour à tous.
Mon problème est le suivant : à partir d’une date anniversaire ( date sans l’année ) , on effectue le calcul suivant :
On multiplie le numéro du jour par 12,
On multiplie le numéro du mois par 31,
On ajoute les deux produits.
Par exemple, s’il s’agit du 4 octobre, on effectue le calcul :
4×12 + 10×31 = 48 + 310 = 358.
Connaissant uniquement le résultat final ( par exemple 358 ), je crois être capable de retrouver la date.
Un jour, une personne m’a proposé le résultat 558.
Je soupçonne fortement cette personne d’avoir triché.
Quelqu’un peut-il justifier ce soupçon ?
-
Iiznogoud dernière édition par
On a : A = 31 m + 12 j avec m le mois et j la date d'anniversaire.
Ici A = 558.558 = 31 m + 12 j
558 est divisible par 31 : 558 = 31 x 18
Donc, on peut écrire : 558 = 31 x 18 = 31 m + 31 (18-m) = 31 m + 12 j31 est un nombre premier, donc 12 divise (18-m) avec m compris entre 1 et 12. D'où m = 6 et j = 31.
La date est donc le 31 juin .... qui n'existe pas.
Iznogoud
-
Mmathtous dernière édition par
Tout à fait exact.
Et si je prends A = 650 au lieu de 558 ?
-
Iiznogoud dernière édition par
650 = 31 x 20 + 30
650 = 31 x m + 31 (20 - m) + 30 = 31 m + 12 j
Soit : 31 (20-m) + 30 = 12 j
D'où, 31 étant premier, 20-m est divisible par 6 (30 et 12 sont divisibles par 6).
D'où : 20-m = 12 ou 18 (pour m entre 1 et 12)
d'où m = 2 et j = 49 ... pas possible
ou m = 8 et j = 33,5 ... pas possible.Iznogoud
-
Mmathtous dernière édition par
Ta méthode semble fonctionner.
En fait, tu prends le reste de la division de A par 31 et tu te débrouilles avec.
Et si cette fois je ne précise pas la valeur de A ?
Il y aura évidemment des cas avec solution(s) ( une ou plusieurs ? ) et des cas sans solution.
-
Iiznogoud dernière édition par
Bonjour,
On a une équation diophantienne.
31 et 12 étant premiers, leur PGCD divise A.
Donc on a au moins une solution (a,b) tel que 31a + 12b= AOn cherche ensuite une solution particulière par l'algoryhtme d'Euclide :
Le système 31x + 12y = 1 admet des solutions du type :
x = -5 + 12k et y = +13 - 31 kLe système 31x + 12 y = A admet donc les solutions :
x = -5 A+ 12 k et y = 13 A -31 kLe reste de la division de 5A par 12 permet de trouver facilement les x et k qui nous intéressent: un seul x et un seul k permettent x compris entre 1 et 12.
x = 12 - 5A mod 12y se calcule facilement ensuite. Il suffit alors de vérifier que y est entier et existe dans le calendrier
(pour que y soit entier, il faut que 5A+x soit divisible par 12)Si y existe, il est unique (car un seul k possible pour x).
Iznogoud
-
Mmathtous dernière édition par
Bonjour,
Citation
Le système 31x + 12y = 1 admet des solutions du type :
x = -5 + 12k et y = +13 - 31 kLe système 31x + 12 y = A admet donc les solutions :
x = -5 A+ 12 k et y = 13 A -31 kIl ne s'agit pas du même k. En fait seul celui de la seconde équation est utile.
Personnellement je préfère calculer séparément j et m ( x et y ) puis vérifier si cela redonne bien le nombre A initial.
Si oui, reste ensuite à voir s'il s'agit bien d'une date du calendrier.Si cela t'intéresse, j'ai pondu un petit texte accessible ici :
-
Iiznogoud dernière édition par
Bonsoir Mathtous,
Merci de la précision sur le k.
Je l'avais utilisé comme variable (k entier relatif), mais il vaut mieux préciser.
Je vais lire avec attention ton texte.Cordialement
Iznogoud