algorithme pour modulo

algorithme pour modulo - Divers - Programmation

Marsh Posté le 27-07-2017 à 12:32:00    

Bonjour
Le but de ma question est de trouver un algorithme qui affiche une seule période des restes de
« expression » modulo n comme l’exemple suivant : k^(3)+2*k-1 modulo 7
Je fais varier k de 0 à 30 par exemple (30 facultatif)  
k= {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}
restes= {6,2,4,4,1,1,3,6,2,4,4,1,1,3,6,2,4,4,1,1,3,6,2,4,4,1,1,3,6,2,4}
voici une période  {6,2,4,4,1,1,3} que je voudrais déterminer.
Une première idée : je prends par exemple les deux premiers restes et je les compare aux deux suivants jusqu’à  
l’égalité.
Ou prendre les trois premiers restes…
 
Pourriez vous me suggérer une idée plus efficace que celle-là.
 
je programme en basic sur calculette Ti-nspire
 
Merci pour des réponses.

Reply

Marsh Posté le 27-07-2017 à 12:32:00   

Reply

Marsh Posté le 31-07-2017 à 16:38:39    

Recherche dans Google en 5s : https://fr.wikipedia.org/wiki/Plus_ [...] A9t%C3%A9e


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 01-08-2017 à 09:33:31    

Reply

Marsh Posté le 01-08-2017 à 18:47:33    

Bonjour et merci pour le lien: https://fr.wikipedia.org/wiki/Plus_ [...] A9t%C3%A9e
 
A mon petit niveau en programmation je n'ai pas compris grand-chose!
 
D'après l'exemple qu'ils donnent, je ne sais pas si cela correspond à mon problème !
 
k= {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}
restes= {6,2,4,4,1,1,3,6,2,4,4,1,1,3,6,2,4,4,1,1,3,6,2,4,4,1,1,3,6,2,4}  
 
ici j'ai fait 30 boucles ( on ne connait pas le nombre de boucles à l'avance)  mais si j'avais
 fait 10 boucles j'aurai: restes={6,2,4,4,1,1,3,6,2,4} et leur arbre des suffixes aurait affiché:
restes={6,2,4} qui n'est pas une période !
 
Qu'en pensez vous ?

Reply

Marsh Posté le 02-08-2017 à 09:40:24    

Si, sur la séquence, c'est une période 6,2,4. puisqu'il y a répétition de la séquence :o Par contre, il y a des "choses" entre les 2. Donc, comme il te manque des infos sur cette séquence, tu as 2 solutions : soit tu considères que vu qu'il y a un début de répétition avec la 2ème apparition de 6,2,4, ce qu'il y a entre les 2 séquence identique fait partie de la première "période" mais tu fais le "pari" que si tu avais poursuivi la boucle, tu aurais trouvé cette partie manquante, soit tu t'arrêtes en disant qu'il n'y a pas de période, soit, tu simules les boucles supplémentaires (au même nombre que les chiffres manquants) sans les afficher juste pour vérifier si tu les retrouves bien à la fin de ta séquence (dans le cas présent, il faudrait simuler 4 boucles en plus pour retrouver 4,1,1,3). Le pb de cette dernière solution, c'est que si ta période est très longue, ce petit jeu de recherche peut durer un moment. Par ailleurs, dans le cas où ton nb de boucles n'inclut pas un début de nouvelle période, comment poursuit-on la recherche ?
 
A voir du côté des maths si y'aurait pas moyen de déduire cette période de par la fonction que tu donnes dans ton premier post.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 02-08-2017 à 12:12:26    

rufo a écrit :

A voir du côté des maths si y'aurait pas moyen de déduire cette période de par la fonction que tu donnes dans ton premier post.


 
De toute façon il me semble que mathématiquement sa période va dépendre de la vitesse de convergence-divergence de sa fonction. Et il ne peut a priori pas déterminer la taille de ses périodes sans passer par la voix mathématique, sinon ça ne restera que pures suppositions.
 
Je suppose donc que l'étude doit se limiter à l'espace définit (ex : k de 0 à 30). Dans ce cas là je pense qu'il faut rechercher une séquence de 15 puis de 14 puis de 13, etc. jusqu'à en trouver une qui se répète au moins une fois. Au niveau combinaisons ça laisse statistiquement moins d'essais. Après si je pense au travail que fait notre cerveau, on doit pouvoir déterminer une période en détectant un marqueur dans la liste (le chiffre le moins présent ou le chiffre le plus présent).


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed