Probleme de modulo

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;

}
Configuration: Windows XP
Internet Explorer 6.0

1 réponse

  1. Bonjour,

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