Sujet : Re: TV Zap
De : pehache.7 (at) *nospam* gmail.com (pehache)
Groupes : fr.sci.mathsDate : 15. Oct 2023, 09:42:19
Autres entêtes
Organisation : Nemoweb
Message-ID : <i9Hmo1l9pmBwsrzvD9-CpoUX8NI@jntp>
References : 1 2 3
User-Agent : Nemo/0.999a
Le 06/10/2023 à 19:16, François Guillet a écrit :
>
Si pgcd(N,S) = 1, alors
Fav(S,C) = modulo(C-1+S,N)+1
Fav(S,C) = modulo(C-1-S,N)+1
répond aux critères
>
Une fois S fixé la série n'a en réalité rien d'aléatoire, mais certains choix de S donnent des séries ont qui l'air (même si seulement l'air) aléatoires.
N = 12
S = 1 : 1 2 3 4 5 6 7 8 9 10 11 12
S = 3 : 1 4 7 10 1 4 7 10 1 4 7 10
S = 5 : 1 6 11 4 9 2 7 12 5 10 3 8
S = 7 : 1 8 3 10 5 12 7 2 9 4 11 6
S = 11: 1 12 11 10 9 8 7 6 5 4 3 2
Ca marche parfaitement et c'est simplissime. Le seul souci a été de me retrouver avec des valeurs négatives là où on a -S dans la formule. Prendre la valeur absolue ne résolvait rien.
Ah, ça dépend effectivement comment la fonction "modulo" (ou quel que soit son nom/sa notation) est implémentée dans le langage pour un argument <0. Parfois c'est modulo(-x,n) = -modulo(x,n), et parfois modulo(-x,n) = n-1-modulo(x+n-1,n) (ce dernier cas me paraissant plus mathématique et donnant toujour un résultat >=0)
J'ai donc ajouté n*S pour être sûr d'avoir du positif, et bien sûr comme c'est un multiple de n le modulo ne change pas.
Ici, ajouter n suffit, en fait.