Retrouver la graine utilisée par les commandes pgfmath

Lorsque l’on utilise les différentes commandes pgfmath dans un sujet AMC, il est nécessaire de fixer une graine au début du sujet au moyen de la commande

\pgfmathsetseed{nombre inférieur à 2^31 - 1}

Si la graine n’est pas fixée dans l’entête du sujet, une graine est calculée au moment de la création du sujet et une nouvelle graine est calculée lors de la correction des copies. Les solutions des corrections ne correspondent donc pas aux énoncés des sujets.

Il est cependant possible de retrouver la première graine si on a oublié de la fixer. Il faut pour cela avoir garder le fichier DOC-sujet.pdf. Le calcul de la graine est alors le suivant :

\time * \year modulo (2^31 - 1)

\time est le nombre de minutes écoulées depuis le matin 00h00 jusqu’à la date de création du fichier DOC-sujet.pdf et \year est l'année en cours (sauf erreur de ma part, le modulo ne sera pas utile pour ce calcul pendant de nombreuses années).

En fonction de la durée de compilation des sujets, il peut y avoir un petit décalage dans le nombre de minutes.

Si les explications ci-dessus ne suffisant pas à résoudre le problème

Pour faire des tests, il est possible d’afficher la graine, le nombre de minutes et l'année sur les sujets de la façon suivante :
  • avant \begin{document}, taper :
\makeatletter
\def\pgfcurrentseed{ %
\pgfmathparse{\pgfmath@rnd@z}\pgfmathresult%
}
\makeatother
  • puis après \onecopy{nombre}{ (ou le \exemplaire{nombre}{), taper
    \pgfcurrentseed - \the\time - \the\year