Définitions
Résidus quadratiques
Un nombre entier est appelé un résidu quadratique modulo s'il existe un entier tel que:
L'ensemble des résidus quadratiques modulo peut être simplement calculé en regardant les résultats de x ^ 2 \ bmod n pour 0 \ le x \ le \ lfloor n / 2 \ rfloor .0 ≤ x ≤ ⌊ n / 2 ⌋
La séquence du défi
Nous définissons comme le nombre minimum d'occurrences de la même valeur pour toutes les paires de résidus quadratiques modulo .
Les 30 premiers termes sont:
C'est l' A316975 (soumis par moi-même).
Exemple:
Les résidus quadratiques modulo sont , , , , et .
Pour chaque paire de ces résidus quadratiques, nous calculons , ce qui conduit au tableau suivant (où est à gauche et est en haut):
Le nombre minimum d'occurrences de la même valeur dans le tableau ci-dessus est de (pour , , et ). Donc .
Ta tâche
Vous pouvez soit:
- prendre un entier et imprimer ou retourner (indexé 0 ou indexé 1)
- prendre un entier et imprimer ou retourner le premiers termes de la séquence
- ne prenez aucune entrée et imprimez la séquence pour toujours
- Votre code doit pouvoir traiter l'une des 50 premières valeurs de la séquence en moins d'une minute.
- Avec suffisamment de temps et de mémoire, votre code doit théoriquement fonctionner pour tout entier positif pris en charge par votre langage.
- C'est du code-golf .
+n
intérieur (...)mod n
n'a-t-il pas d'effet? Si c'est le cas, c'est très bizarre qui fait partie de la définition.
(some_potentially_negative_value + n) mod n
.) Je pense que c'est mieux de l'avoir dans un défi de programmation, car le signe du résultat dépend du langage .
a_p = round(p/4)
, ce qui nous donne les valeurs de tous les nombres sans carré. Mais la situation semble compliquée sur les puissances des nombres premiers, et les 3 cas mod 4 et 1 cas mod 4 doivent être traités séparément.