begin process at 2012 02 12 06:05:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Maths

 > 

modulo et nombre de 66 chiffres


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

modulo et nombre de 66 chiffres

dimanche 17 février 2008 à 16:15:54 | modulo et nombre de 66 chiffres

velvetwizard

J'ai un problème à résoudre en C.

« faire un un pgm C permettant de donner le résultat de A mod X.
A étant un nombre de 66 et X= 1 à 100 »

1/ déjà je suis obligé de stocker ce nombre A dans tableau et de le découper en plusieurs parties car n'existe par de type de donnée pouvant stocker un nombre de 66 chiffres
2/ par contre comment faire le calcul du modulo ?

Je peux utiliser la fonction fmod ?!?
Je ne sais pas comment faire (pour que mon pgm C soit portable). Auriez vous une idée, svp ?

lundi 18 février 2008 à 14:17:41 | Re : modulo et nombre de 66 chiffres

JCDjcd

Alors ca c'est tres simple,
supposons que tu memorises tes 66 chiffres dans un tableau T
(tu es en base 10) qui represente un nombre x dont tu cherches
le reste modulo 97 (prenons 97 pour l'exemple), alors on a les
relations suivantes :
x=somme sur i de 0 a 65 de T[i]*10^i

le truc c'est que ton resultat au final tiendra sur un entier de type int
puisque tu fais le calcul moldulo 100 au pire des cas.

Voici l'algorithme:
tu calcules les 10^i mod 97...
en fait tu calcules successivement ton nombre x, et a chaque etape
tu reduis ton nombre modulo 97, ainsi tous tes calcules intermediaires
seront sur des entiers
il te suffit d'adapter le principe de l'evaluation des polynomes de Horner
en faisant modulo 97 a chaque etape ! (l'evaluation se fait en 10)

donc regarde Horner et tu auras ta reponse !
(je pourrais te donner en fait la solution directement, mais je prefere
etre plus pedagogique qu'autre chose...)


cordialement JCDjcd
lundi 18 février 2008 à 22:05:37 | Re : modulo et nombre de 66 chiffres

velvetwizard

Si j'ai bien compris :

 

Prenons le nombre 895602.

Ce qui donne dans le tableau T

T(0) = 2, T(1)=0, T(2)=6, T(3)=5, T(4)=9 et T(5)=8.

 

Appliquons la formule magique :

 

X= (X + T(i)*10^i) mod 97 avec i =0 à 5

 

Mais avec un nombre de 66 chiffres, on va avoir un problème en faisant 10^66.

 

Pour éviter ce problème, tu proposes de faire des étapes intermédiaires en utilisant la méthode de Horner.

 

Là, je sèche. . .



Cette discussion est classée dans : nombre, chiffres, pgm, modulo, stocker


Répondre à ce message

Sujets en rapport avec ce message

POUR LES PROS [ par rigadin ] Le sujet serai :2 joueurs s'affronte pour trouver la bonne combinaison et vont jouer de manière alternative pour trouver un nb de 5 chiffres compris e séparation chiffres d'un nombre [ par surfeurnet ] Quelqu'un connait-il une fonction permettant de séparer les différents chiffres d'un nombre ?par exemple avec le nombre 45623 obtenir 4,5,6,2,3 calculer la somme des chiffres d'un nombre donné - NTL et nombres ZZ [ par scelw ] Je dois faire un exercice.Sachant que c'est pour travailler avec des très grands nombres (de plusieurs millions de chiffres), il faut utiliser la clas Notation exponentielle [ par C2S ] Salut !J'aimerai ecrire des nombre sous notation scientifique (j'y arrive) par contre je veux des exposant sur 3 chiffres or apr defaut c'est sur 2 ch Programme avec Builder C++ [ par Kyzand ] j'ai un programme a faire mais je suis bloquéje le lis''Un nombre Armstrong est défini comme étant un nombre de n chiffres dont la somme des puissance Nombre d'entier d'un fichier composé de chiffres [ par ValToutCourt ] Bonjour à tous, j'ai un probléme en programmation, je dois recupérer le nombre d'entier stoké dans un fichier, ca parait bidon, mais j'ai deja tout es Code qui ne marche pas [ par darkwhite ] Salut a tous . Je suis debutant en C et j'ai commencé un programme qui converti un nombre binaire de huit chiffres en un nombres decimal le code est Additionner les chiffres d'un nombre [ par Loonis ] Bonjour à tous, Je recherche une méthode pour additionner les chiffres d'un nombre en c++, exemple 15 : 1+5=6 Merci. conversion nombre réel [ par bessouma06 ] bonjour à tousje cherche comment convertirun nombre réel  en un chaine de caractére.j'ai trouvé ce code sur ce site mais qui tien compte seulement  de Algorithmie chiffres romains conversion en chiffres arabes [ par jeffreynaz ] Voila je débute en algo et j'aimerais savoir si un peu d'aide serait possible voila mon problème : CHIFFRES ROMAINS symboles d'écriture : M pour 100


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,635 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales