Probleme de modulo

Fermé
kahina230684 - 26 nov. 2007 à 11:21
 le père - 26 nov. 2007 à 11:37
Bonjour, j'essaye de calculer le modulo, le programme s'execute correctement mais le résultat de modulo est faux je voix pas ou est le problème. merci d'avance

voici le programme

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#include<math.h>

int Random (int _iMin, int _iMax)
{
return (_iMin + (rand () % (_iMax-_iMin+1)));
}
int main( int argc, char *argv[] )
//int main (void)

//void main()
{
long int unsigned n,m,p,g,z,y,iRandom; /* n variable destinée à contenir les entiers inférieurs m */

printf("\n\n Introduire la valeure de m: \n\n m=");

scanf("%ld",&m);

printf("\n Les nombres premiers inferieurs ou égal à m sont:\n\n 1 , 2");/* Les deux premiers nombres premiers sont affichés */


/* Pour les entiers entre 3 et m, on vérifie s'ils ont un diviseur autre que 1 */

for (n = 3; n <= m; n++)

{
long int unsigned i;

for (i = 2; i*i <= n; i++)
if (!(n%i))
break;
if (i*i > n)
printf(" , %ld" , n);
}

{



printf("\n\n\n Choisissez parmis les nombres ci dessous la valeur de p:\n\n p=");

scanf("%ld",&p);

printf("\n\n Introduire une valeur g inferieur à p-1:\n\n g=");
scanf("%ld",&g);


/***************************************GENERATION D'UN NOMBRE ALEATOIRE**********************************/

printf("\n\n***********Génération d'un nombre aléatoire inferieur à p-2***********\n");

srand (time (NULL));
iRandom = Random (1,p-2);
printf ("\n\n Donc le nombre aléatoire est:\n\n Random: %d", iRandom);
// getch();
//return 0;

// scanf("%ld",&iRandom);

}

/************************************LA PUISSANCE**************************************************/


printf("\n\n******************Calcul de la puissance*******************");
printf( "\n\n %ld puissance %ld = %lf\n", g, iRandom, pow(g,iRandom) );

printf("\n\n y= %lf", pow(g,iRandom));
//scanf("%lf",&y);


/***********************************MODULO******************************************** ********/
z=y%p;

// printf("\n\n la clé publique est:%ld", z);

printf("\n\n Voici ma clé publique: z = %ld ",z);
return 0;


}

1 réponse

Bonjour,

Tu dis que le résultat de modulo est faux, peux-tu nous donner les deux nombres et le faux résultat ?
0