Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1473 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  algorithme pour modulo

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

algorithme pour modulo

n°2303888
kadhard
Posté le 27-07-2017 à 12:32:00  profilanswer
 

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.

mood
Publicité
Posté le 27-07-2017 à 12:32:00  profilanswer
 

n°2304031
rufo
Pas me confondre avec Lycos!
Posté le 31-07-2017 à 16:38:39  profilanswer
 

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
n°2304036
TotalRecal​l
Posté le 01-08-2017 à 09:33:31  profilanswer
 

Et jusque là t'en es où ?  
http://forum.hardware.fr/hfr/Progr [...] 4544_1.htm Section 0C.


---------------
Topic .Net - C# @ Prog
n°2304066
kadhard
Posté le 01-08-2017 à 18:47:33  profilanswer
 

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 ?

n°2304077
rufo
Pas me confondre avec Lycos!
Posté le 02-08-2017 à 09:40:24  profilanswer
 

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
n°2304088
MaybeEijOr​Not
but someone at least
Posté le 02-08-2017 à 12:12:26  profilanswer
 

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.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  algorithme pour modulo

 

Sujets relatifs
Problème de complexité d'algorithmeAlgorithme de décomposition
Algorithme sur des "Demi-diagonales" de matricesConversion algorithme Python -> VBA (combinaisons de p élém. parmi n)
Explication complexité d'un algorithme[Clos]Explication mathématique d'un algorithme plus ou moins "stable"
algorithme d'enrichissementAlgorithme Unsharp Mask (HELP)
[MATLAB] Algorithme ressortissant les plus courts cheminsalgorithme pour réseau d'échange numismatique
Plus de sujets relatifs à : algorithme pour modulo


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR