Erreur avec Modulo sur VB.NET

Résolu
grob1 Messages postés 8 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 17 novembre 2009 - 18 juin 2009 à 17:10
grob1 Messages postés 8 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 17 novembre 2009 - 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 ?
A voir également:

4 réponses

Egalon Messages postés 124 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 17 juin 2011
22 juin 2009 à 19:47
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
3
Egalon Messages postés 124 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 17 juin 2011
18 juin 2009 à 22:03
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.
0
grob1 Messages postés 8 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 17 novembre 2009
19 juin 2009 à 10:18
Euh, j'avoue que j'ai du mal a comprendre les solutions que tu proposes.
0
grob1 Messages postés 8 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 17 novembre 2009
23 juin 2009 à 11:11
Ça fonctionne merci !
0
Rejoignez-nous