stocker un grand nombre

Voir le sujet précédent Voir le sujet suivant Aller en bas

stocker un grand nombre

Message  frager50 le Mer 25 Mar 2009 - 22:36

Bonjours.
Je vous explique mon problème : je voudrai stocker un grand nombre pour cet exercice http://projecteuler.net/index.php?section=problems&id=3.
Mais sa dépasse largement la capacité d'un long même d'un usigned long . De plus j'aimerais utiliser le crible d'Eratosthène et ce n'est pas possible de créer un tableau[600851475143].


J'aimerai votre avis sur la question et quelques conseils pour stocker la variable sachant que j'ai déjà l'algo...


Dernière édition par frager50 le Jeu 26 Mar 2009 - 9:26, édité 1 fois

frager50
Bavard
Bavard

Messages : 17
Date d'inscription : 25/03/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: stocker un grand nombre

Message  -ed- le Mer 25 Mar 2009 - 22:49

frager50 a écrit:Je vous explique mon problème : je voudrai stocker un grand nombre
Pour gérer de très grands nombres, on utilise, par exemple, une bibliothèque spécialisée comme GMP.

http://gmplib.org/

_________________
C is a sharp tool !

-ed-
Admin
Admin

Messages : 289
Date d'inscription : 26/05/2008
Age : 60
Localisation : Paris 6eme arrondissement (75, France)

Voir le profil de l'utilisateur http://bien-programmer.fr

Revenir en haut Aller en bas

Re: stocker un grand nombre

Message  Jaloyan1 le Mer 25 Mar 2009 - 23:42

frager50 a écrit:le crible d'Erastomer et ce n'est pas possible de créer un tableau[600851475143].

Tu veux plutôt dire le crible d'Eratosthène.

frager50 a écrit:J'aimerai votre avis sur la question et quelques conseils pour stocker la variable sachant que j'ai déjà l'algo...

Je ne sais pas vraiment moi, mais j'utilise une toute autre méthode.
Elle est plus lente(c'est sur), mais au moins elle économise plus de mémoire.
Au lieu de stocker tous les nombres de 1 à x, tu peux stocker tous les nombres premiers de 1 à x.

Et tu teste pour savoir si un nombre est premier la condition suivante :

Si aucun de nombres premiers inférieur à la racine carrée de ce nombre le divise, alors, ce nombre est premier.

Ce économise plus de la moitié de la place(vu que au moins 1 nombre sur 2 n'est pas premier) aussi un nombre sur 10 se termine par un 5, donc tu peux encore enlever 1/10 au total. etc... jusqu'à tomber dans des tableaux de taille relativement modérés.

Évidemment c'est plus lent.

J'espère t'avoir aidé.

Jaloyan1

Messages : 6
Date d'inscription : 30/09/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: stocker un grand nombre

Message  frager50 le Jeu 26 Mar 2009 - 9:31

Jaloyan1 a écrit:
frager50 a écrit:le crible d'Erastomer et ce n'est pas possible de créer un tableau[600851475143].

Tu veux plutôt dire le crible d'Eratosthène.
oui en effet Embarassed

Jaloyan1 a écrit:
frager50 a écrit:J'aimerai votre avis sur la question et quelques conseils pour stocker la variable sachant que j'ai déjà l'algo...

Je ne sais pas vraiment moi, mais j'utilise une toute autre méthode.
Elle est plus lente(c'est sur), mais au moins elle économise plus de mémoire.
Au lieu de stocker tous les nombres de 1 à x, tu peux stocker tous les nombres premiers de 1 à x.

Et tu teste pour savoir si un nombre est premier la condition suivante :

Si aucun de nombres premiers inférieur à la racine carrée de ce nombre le divise, alors, ce nombre est premier.

Ce économise plus de la moitié de la place(vu que au moins 1 nombre sur 2 n'est pas premier) aussi un nombre sur 10 se termine par un 5, donc tu peux encore enlever 1/10 au total. etc... jusqu'à tomber dans des tableaux de taille relativement modérés.

Évidemment c'est plus lent.

J'espère t'avoir aidé.


Oui mais pour l'exercice on est "obliger de stocker le nombre 60......... car il faut trouver ses multiples
-ed- a écrit:
Pour gérer de très grands nombres, on utilise, par exemple, une bibliothèque spécialisée comme GMP.

http://gmplib.org/

Ok elle marche aussi sous linux?

frager50
Bavard
Bavard

Messages : 17
Date d'inscription : 25/03/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: stocker un grand nombre

Message  -ed- le Jeu 26 Mar 2009 - 10:34

frager50 a écrit:Ok elle marche aussi sous linux?
Oui. C'est une bibliothèque portable indépendante de la plateforme.

Par contre, à ma connaissance, elle est livrée "à compiler", et il faut le faire correctement. Faut pas être débutant complet en la matière, mais tout est expliqué sur le site ...

_________________
C is a sharp tool !

-ed-
Admin
Admin

Messages : 289
Date d'inscription : 26/05/2008
Age : 60
Localisation : Paris 6eme arrondissement (75, France)

Voir le profil de l'utilisateur http://bien-programmer.fr

Revenir en haut Aller en bas

Re: stocker un grand nombre

Message  frager50 le Jeu 26 Mar 2009 - 23:10

-ed- a écrit:Faut pas être débutant complet en la matière, mais tout est expliqué sur le site ...

Mais en anglais.... Même si je me débrouille en anglais je ne pense pas que je vais comprendre tout les termes techniques.....

frager50
Bavard
Bavard

Messages : 17
Date d'inscription : 25/03/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: stocker un grand nombre

Message  -ed- le Sam 28 Mar 2009 - 11:12

frager50 a écrit:
-ed- a écrit:Faut pas être débutant complet en la matière, mais tout est expliqué sur le site ...

Mais en anglais.... Même si je me débrouille en anglais je ne pense pas que je vais comprendre tout les termes techniques.....
Pose des questions précises si tu ne comprends pas ...

_________________
C is a sharp tool !

-ed-
Admin
Admin

Messages : 289
Date d'inscription : 26/05/2008
Age : 60
Localisation : Paris 6eme arrondissement (75, France)

Voir le profil de l'utilisateur http://bien-programmer.fr

Revenir en haut Aller en bas

Re: stocker un grand nombre

Message  frager50 le Dim 29 Mar 2009 - 12:58

c'est bon c'est installé et sa marche

Merci.

frager50
Bavard
Bavard

Messages : 17
Date d'inscription : 25/03/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: stocker un grand nombre

Message  Contenu sponsorisé Aujourd'hui à 15:30


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum