Anniversaire


  • M

    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 ?


  • I

    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 j

    31 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


  • M

    Tout à fait exact.
    Et si je prends A = 650 au lieu de 558 ?


  • I

    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


  • M

    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.


  • I

    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= A

    On 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 k

    Le système 31x + 12 y = A admet donc les solutions :
    x = -5 A+ 12 k et y = 13 A -31 k

    Le 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 12

    y 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


  • M

    Bonjour,
    Citation
    Le système 31x + 12y = 1 admet des solutions du type :
    x = -5 + 12k et y = +13 - 31 k

    Le 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 :

    Anniversaire


  • I

    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


Se connecter pour répondre