Bonjour,
je voudrais calculer le modulo d'un nombre a 15 chiffres maxi exemple: 123456789012345%97
sa a l'aire simple mais je ne n'arrive ni a enregistrer un aussi grand nombre dans une variable a ni a utiliser l'opérateur modulo car le nombre n'est pas un int
merci

J'utilise un langage qui ne me permets pas de traiter des nombres de plus de 15 chiffres, et je devais calculer un modulo 97 de nombres jusqu'à 18 chiffres !
Pour infos, voici une deuxième méthode que j'ai trouvé :
Exemple sur 9 chiffres pour le numéro 510007547061111462 :
1 Calculer le modulo 97 des 9 premiers chiffres du numéro considéré.
Modulo 97 de 510007547 = 74
2 Recomposer, en partant du reste, un nouveau nombre de 9 chiffres et calculer son
modulo97 :
Modulo 97 de 740611114 = 12.
3 Répéter l'étape précédente jusqu'à ce que tous les chiffres aient été traités.
Modulo 97 de 1262 = 1.
Ce résultat est identique au reste de la division 510007547061111462 par 97.
Pour la petite explication, elle se base sur le fait de décomposer les nombres petit à petit en enlevant les multiples élevés aux puissances de 10 de ton nombre (97 dans ton cas) au nombre de base.
Exemple: 9876543 % 29
987 / 29 = 34
9876543 - (29 * 34 * 10000) = 16543
Le 1, c'est celui de ton explication si on fait: 987 % 34. Cette méthode fonctionne aussi très bien en binaire, et peux être utilisée de manière optimale dans les langages comme le C si le nombre modulo prend la moitié de l'espace maximale pour un calcul (par exemple, max = 32bits, le nombre modulo devrait pas faire plus que 16bits pour avoir un traitement optimale).
J'espère avoir éclairé certaines personnes, comme moi, pour lesquels cette méthode paraissait bien curieuse.