darktrouble Help :p | Code :
- //=================================================================//
- // Fichier principal //
- //=================================================================//
- #include <stdio.h>
- #include <stdlib.h>
- #include <gmp.h> // Librairie mathématique
- //=================================================================//
- // Fonction principale du programme //
- //=================================================================//
- int main(int argc, char* argv[])
- {
- int n;
- mpz_t nbre; // Définit un nombre
- // mp = multiple precision
- // z = entier en math
- // Affiche ce que l'on fait
- printf("Affichage d'un nombre sous la forme 2^n-1\n" );
- // Demande et récupère une valeur de n
- printf("Valeur de n = " );
- scanf("%d", &n);
- // Initialise le nbre de mersenne à 2
- mpz_init(nbre); // Initialise la variable
- mpz_add_ui(nbre, nbre, 2); // Place 2 dedans
- // Calcul 2^n-1
- mpz_pow_ui(nbre, nbre, n); // Calcul 2^n
- mpz_sub_ui(nbre, nbre, 1); // Enlève 1
- // Affiche le nombre
- gmp_printf("%Zd\n", nbre);
- system("pause" );
- return 0;
- }
|
Avec ce programme, j'aimerais utiliser la variable nbre dans une boucle for afin de diviser nbre par tous les entiers qui lui sont inférieurs dans le but de savoir s'il est premier. Or, ma boucle for (écrite comme dans un programme classique) ne marche pas.. J'aimerais donc savoir si l'entier déclaré dans la librairie permet de faire une boucle for et si oui comment. Merci d'avance |