Erreur avec Modulo sur VB.NET [Résolu]

grob1 8 Messages postés mercredi 17 juin 2009Date d'inscription 17 novembre 2009 Dernière intervention - 18 juin 2009 à 17:10 - Dernière réponse : grob1 8 Messages postés mercredi 17 juin 2009Date d'inscription 17 novembre 2009 Dernière intervention
- 23 juin 2009 à 11:11
Bonjour, je veut faire un calcul avec modulo mais le résultat n'est pas le bon, j'ai écrit :

TextBox2.Text = ((textBox3.Text)^103) mod 403

Par exemple quand je met la valeur 50 dans la TextBox3, il me sort 336 dans la TextBox2, alors qu'avec la calculette de window pour (50^103) mod 403 = 262

Quel est le problème ?
Afficher la suite 

4 réponses

Répondre au sujet
Egalon 126 Messages postés lundi 26 avril 2004Date d'inscription 17 juin 2011 Dernière intervention - 22 juin 2009 à 19:47
+3
Utile
En y réfléchissant un peu plus, y a une solution qui devrait bien fonctionner:
un multiple de 403 a forcément un modulo nul.
Donc une récurrence en ne conservant que le modulo devrait passer:
reste = 50
faire 102 fois:
  reste = reste*50 modulo 403
boucler
à tester donc avec les premieres ittération pour confirmer.
Signé: Egalon qui comprend difficilement
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Egalon
Egalon 126 Messages postés lundi 26 avril 2004Date d'inscription 17 juin 2011 Dernière intervention - 18 juin 2009 à 22:03
0
Utile
Le problème est très certainement la taille du nombre 50^103 qui ne tient pas facilement dans entier, qui serait plutot un double . La proportion entre le nombres est bien trop en décalage pour obtenir un réel résultat.
La solution de ton problème pourrait passer par les congruences afin de simplifier les calculs, mais il me semble que 403 soit premier.=> dixit la solution.
Ou regarder la partie décimale de la division complete. Mais par logique, la taille du nombre décimal peut être similaire à celle de la taille du dividende avant d'etre significatif.

Tu travailles sur un nombre beaucoup trop grand pour obtenir la finesse nécessaire à calculer le résultat.
Commenter la réponse de Egalon
grob1 8 Messages postés mercredi 17 juin 2009Date d'inscription 17 novembre 2009 Dernière intervention - 19 juin 2009 à 10:18
0
Utile
Euh, j'avoue que j'ai du mal a comprendre les solutions que tu proposes.
Commenter la réponse de grob1
grob1 8 Messages postés mercredi 17 juin 2009Date d'inscription 17 novembre 2009 Dernière intervention - 23 juin 2009 à 11:11
0
Utile
Ça fonctionne merci !
Commenter la réponse de grob1

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.