Bibliothèque GMP
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonsoir,
Je viens d'installer la bibliothèque GMP sur CodeBlocks.
J'ai créer un programme en C listant les nombres parfaits, mais on arrive rapidement à de très grands nombres.
Comment puis-je utiliser cette bibliothèque pour pouvoir afficher les grands nombres tels qu'ils le sont ? Je n'ai aucune idée de comment m'en servir.
Voici mon code :
Merci,
Je viens d'installer la bibliothèque GMP sur CodeBlocks.
J'ai créer un programme en C listant les nombres parfaits, mais on arrive rapidement à de très grands nombres.
Comment puis-je utiliser cette bibliothèque pour pouvoir afficher les grands nombres tels qu'ils le sont ? Je n'ai aucune idée de comment m'en servir.
Voici mon code :
#include <stdio.h> #include <stdlib.h> #include <math.h> #include <gmp.h> #define P 35 typedef enum {False = 0, True = 1} Bool; long long int powInt(long long int base, long long int exp) { long long res = 1; for(long long int i = 0 ; i < exp ; i++) res *= base; return res; } int main() { long long int n, la; long long int p = P; Bool test = True; printf("6\n"); for(n = 3; n <= p; n+=2) { test = True; long long int j; long long int carre = (powInt(2, n)-1); for(j = 2; j*j <= carre; j++) { if(carre % j == 0) { test = False; break; } } if(test) { la = powInt(2, n-1)*(powInt(2,n)-1); printf("%lld\n", la); } } return 0; }
Merci,
A voir également:
- Bibliothèque GMP
- Google photo bibliothèque - Accueil - Photo
- Ce fichier contient l'historique des livres empruntés à la bibliothèque. combien de titres différents contient-il ? ✓ - Forum Excel
- Bibliothèque ✓ - Forum Windows 10
- Bibliothèque dynamique aacs ✓ - Forum Logiciels
- Musique seven bibliothèque ✓ - Forum Musique / Radio / Clip
Merci, j'ai essayé d'adapter les exemples à mon problème mais mon programme crash directement :
Par contre le calcul res *= base devrait être en mpz_t car cette valeur peut rapidement exploser et dépasser.
Remarque : il y a plus malin qu'une boucle for pour calculer la puissance (en calculant avec des grands nombres tu verras que même les algos les plus simples doivent être optimisés)
Ce problème est résolu, je vous remercie pour votre aide.
Néamoins j'ai un autre soucis, j'aimerais déclarer une variable de type string ou char avec GMP, pour ensuite la renvoyer en sortie vers un fichier texte avec
Cependant lorsque je déclare par exemple
puis
J'aimerais que la touche entrée soit insérée dans mon fichier texte.
Or au lieu de l'entrée, des nombres sont affichés à la place, et généralement toujours les mêmes (quelque chose comme 82124573214).
Comment est-ce-que je peux faire pour simplement afficher l'entrée dans mon fichier texte ? (sans passer par , sinon mon programme crash).
A mon avis c'est à cause de la base 10 non ?
Merci