Bonsoir,
Je me permets de poster un message dans ce forum car je débute tout juste C (mais ai lu de la docu sur internet).
J'ai essayé de faire un programme en utilisant la bibliothèque gmp tel que l'utilisateur entre k, un nombre de bit, et le programme génère des nombres aléatoires d'au plus kbits et continue jusqu'à temps d'en trouver un multiple de 20 (i.e. reste de la div euclidienne de n par 20 vaut 0).
Mon code ressemble à ça pour le moment :
Pouvez-vous commenter mon code et/ou le corriger ?Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 #include <stdio.h> #include "gmp.h" #include <math.h> #include <stdlib.h> #include <time.h> int main(int argc, char* argv[]) { unsigned long int k; scanf("k bits avec k= %d", &k); mpz_t z_n; gmp_randstate_t mon_gen; \\Déclaration_gen gmp_randinit_default(mon_gen);\\Init_gen gmp_randseed_ui(mon_gen, time(NULL)); \\seed mpz_urandomb (mpz_t z_n, gmp_randstate_t state, mp_bitcnt_t k); while ( gmp_div_r(mpz_t z_n, 20) != 0) { mpz_urandomb (mpz_t z_n, gmp_randstate_t state, mp_bitcnt_t k); } gmp_printf(z_n); gmp_randclear(mon_gen); }
Merci par avance de vos retours.
Bonne soirée,
Chaka_Sobek