Galett
Messages postés115Date d'inscriptionjeudi 7 février 2002StatutMembreDernière intervention21 mai 2005 8 juil. 2003 à 13:49
pas de prob, avant de vous la livrer j'effecturais des tests complets avec la meilleure librairie existante, GMP
cs_eRoZion
Messages postés241Date d'inscriptionvendredi 23 mai 2003StatutMembreDernière intervention 8 octobre 20071 29 juin 2003 à 18:08
Galett...
Regarde plutot sur le net car il existe déjà des algos beaucoup plus rapides pour effectuer les multiplications.
Ne serait-ce qu'avec un bon supercalculateur, 2^1000000 prend moins d'un quart de seconde à se faire sur mon Duron-800 (mais il est vrai que c'est un mauvais exemple).
Tiens-nous au courant si tu ecrit un bonne librairie.
Galett
Messages postés115Date d'inscriptionjeudi 7 février 2002StatutMembreDernière intervention21 mai 2005 5 mai 2003 à 00:08
c'est fait, merci, j'ai pris plusieurs documents, mais j'ai pas encore eu le temps de les étudier, en ce moment, je réfléchis sur la meilleure manière pour la multiplication,(j'en ai trouvé dans des bouquins de maths, de très belle, genre la multiplication égyptienne est assez marrante, largement moins rapide que la normale, mais c'est marrant :)
cs_GoldenEye
Messages postés527Date d'inscriptionvendredi 14 septembre 2001StatutMembreDernière intervention 6 octobre 20084 4 mai 2003 à 15:25
la formule de Manta a une convergence d'escargot. Mieux vaut voir du côté des formules de Plouffe
Galett => google car c un peu long à expliquer ici
cs_aerith
Messages postés54Date d'inscriptionlundi 17 mars 2003StatutMembreDernière intervention12 mars 2006 27 mars 2003 à 01:19
voila le mien pour les plus courageux j'ai atteind 200 millions d'iteration et j'ai eu que 7 decimal
arreter le programme quant vous en avez mare
cs_aerith
Messages postés54Date d'inscriptionlundi 17 mars 2003StatutMembreDernière intervention12 mars 2006 27 mars 2003 à 01:16
// pi.cpp
#include "stdio.h"
main()
{
signed int signe = 1;
long double somme = 0;
int n = 1;
do
{
somme += signe*(1./(long double)n);
signe = -signe;
n = n + 2;
printf("%.20f %i
",4.*somme,n);
}
while(1);
return 0;
}
Galett
Messages postés115Date d'inscriptionjeudi 7 février 2002StatutMembreDernière intervention21 mai 2005 25 févr. 2003 à 15:36
ho ! je savais pas, je vais donc changer mes calculs servant de tests, merci du renseignement en tt cas :o)
sinon ça marche comment la TFR en gros ? puisque moi j'utilise l'algo de pow qui se trouve tout simplement dans math.h que j'ai adapté à mes grands entiers.
Galett
Messages postés115Date d'inscriptionjeudi 7 février 2002StatutMembreDernière intervention21 mai 2005 25 févr. 2003 à 15:33
ho ! je savais pas, je vais donc changer mes calculs servant de tests, merci du renseignement en tt cas :o)
cs_GoldenEye
Messages postés527Date d'inscriptionvendredi 14 septembre 2001StatutMembreDernière intervention 6 octobre 20084 22 févr. 2003 à 19:47
2 puisance 1 million c'est un mauvais exemple, le genre de truc qui va à une vitesse folle avec une TF rapide (la complexité est minimale avec des puissances de 2). Prend comme base de test un calcul a^b a différent de 0%2
Galett
Messages postés115Date d'inscriptionjeudi 7 février 2002StatutMembreDernière intervention21 mai 2005 22 févr. 2003 à 17:48
je travaille sur un gros projet en ce moment basé sur des nombres à précisions infinie, et j'optimise j'optimise j'optimise ... :o)
pour l'instant il me faut 270 secondes(sous windows98, PII 350) pour calculer 2 puissance 1 million
le projet étant portable(mais je suis pas habitué à linux) : 202 secondes pour le même calcul sous linux
si quelques personnes travaillent sur le même genre de projet, écrivez moi :o)
cmarsc
Messages postés455Date d'inscriptionmercredi 6 mars 2002StatutMembreDernière intervention18 décembre 2003 22 févr. 2003 à 08:11
j=j+2; à remplacer par j +=2
il semble qu'il y a des codes semblables fait une recherche pour voir comment ils sont écrits ;-)
getch() #include<conio.c> devc++4. mais en C++ on ne peut pas en profiter pleinement car il faut taper ENTEE après.
cs_GoldenEye
Messages postés527Date d'inscriptionvendredi 14 septembre 2001StatutMembreDernière intervention 6 octobre 20084 21 févr. 2003 à 22:55
C'est beaucoup plus compliqué que prévu !
Corrige déjà les goto et ce sera déjà bien
Pour avoir une précision "illimitée", il faut reprogrammer les opérations d'addition, multiplication... et changer la représentation interne des nombres par la machine. Un nombre sera modélisé par un gros tableau de chiffres (entre 0 et 9) et à toi de te taper les opérations de base
manta7
Messages postés105Date d'inscriptionsamedi 25 janvier 2003StatutMembreDernière intervention13 décembre 2008 21 févr. 2003 à 22:29
SVP aidez moi, je voudrais savoir comment creer un variable avec un nombre souhaite de decimales, merci
manta7
Messages postés105Date d'inscriptionsamedi 25 janvier 2003StatutMembreDernière intervention13 décembre 2008 21 févr. 2003 à 21:39
Oki merci les gars, je vais le refaire avec un nombre x de decimales et sans goto ... @+
ElVirolo
Messages postés15Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention11 mars 2003 21 févr. 2003 à 18:57
Oui, évite les goto !
Indente ton code, type tes variables, l'algo est à revoir !
Bon courage !
cs_GoldenEye
Messages postés527Date d'inscriptionvendredi 14 septembre 2001StatutMembreDernière intervention 6 octobre 20084 21 févr. 2003 à 17:57
Utilise des structures du type
while(condition) {...}
ou bien
do {...} while(condition)
car là je dois avouer que j'ai pas tout compris à ton programme (sans commentaires en plus)
manta7
Messages postés105Date d'inscriptionsamedi 25 janvier 2003StatutMembreDernière intervention13 décembre 2008 21 févr. 2003 à 17:38
Salut GoldenEye, dis moi que faire a la place d'un goto stp
cs_GoldenEye
Messages postés527Date d'inscriptionvendredi 14 septembre 2001StatutMembreDernière intervention 6 octobre 20084 21 févr. 2003 à 17:14
1/ Evite les goto c'est sale et ça rend sourd
2/ Que se passe t'il si on veut une précision supérieure à 100 chiffres par exemple ?
manta7
Messages postés105Date d'inscriptionsamedi 25 janvier 2003StatutMembreDernière intervention13 décembre 2008 21 févr. 2003 à 16:50
C'est vrai c'est pas con escusez moi ;-))
manta7
Messages postés105Date d'inscriptionsamedi 25 janvier 2003StatutMembreDernière intervention13 décembre 2008 21 févr. 2003 à 16:50
C'est vrai c'est pas con escusez moi ;-))
ElVirolo
Messages postés15Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention11 mars 2003 21 févr. 2003 à 16:13
Oui, j'ai une suggestion : mettre le code source du programme !
manta7
Messages postés105Date d'inscriptionsamedi 25 janvier 2003StatutMembreDernière intervention13 décembre 2008 21 févr. 2003 à 14:18
8 juil. 2003 à 13:49
29 juin 2003 à 18:08
Regarde plutot sur le net car il existe déjà des algos beaucoup plus rapides pour effectuer les multiplications.
Ne serait-ce qu'avec un bon supercalculateur, 2^1000000 prend moins d'un quart de seconde à se faire sur mon Duron-800 (mais il est vrai que c'est un mauvais exemple).
Tiens-nous au courant si tu ecrit un bonne librairie.
5 mai 2003 à 00:08
4 mai 2003 à 15:25
Galett => google car c un peu long à expliquer ici
27 mars 2003 à 01:19
arreter le programme quant vous en avez mare
27 mars 2003 à 01:16
#include "stdio.h"
main()
{
signed int signe = 1;
long double somme = 0;
int n = 1;
do
{
somme += signe*(1./(long double)n);
signe = -signe;
n = n + 2;
printf("%.20f %i
",4.*somme,n);
}
while(1);
return 0;
}
25 févr. 2003 à 15:36
sinon ça marche comment la TFR en gros ? puisque moi j'utilise l'algo de pow qui se trouve tout simplement dans math.h que j'ai adapté à mes grands entiers.
25 févr. 2003 à 15:33
22 févr. 2003 à 19:47
22 févr. 2003 à 17:48
pour l'instant il me faut 270 secondes(sous windows98, PII 350) pour calculer 2 puissance 1 million
le projet étant portable(mais je suis pas habitué à linux) : 202 secondes pour le même calcul sous linux
si quelques personnes travaillent sur le même genre de projet, écrivez moi :o)
22 févr. 2003 à 08:11
il semble qu'il y a des codes semblables fait une recherche pour voir comment ils sont écrits ;-)
getch() #include<conio.c> devc++4. mais en C++ on ne peut pas en profiter pleinement car il faut taper ENTEE après.
21 févr. 2003 à 22:55
Corrige déjà les goto et ce sera déjà bien
Pour avoir une précision "illimitée", il faut reprogrammer les opérations d'addition, multiplication... et changer la représentation interne des nombres par la machine. Un nombre sera modélisé par un gros tableau de chiffres (entre 0 et 9) et à toi de te taper les opérations de base
21 févr. 2003 à 22:29
21 févr. 2003 à 21:39
21 févr. 2003 à 18:57
Indente ton code, type tes variables, l'algo est à revoir !
Bon courage !
21 févr. 2003 à 17:57
while(condition) {...}
ou bien
do {...} while(condition)
car là je dois avouer que j'ai pas tout compris à ton programme (sans commentaires en plus)
21 févr. 2003 à 17:38
21 févr. 2003 à 17:14
2/ Que se passe t'il si on veut une précision supérieure à 100 chiffres par exemple ?
21 févr. 2003 à 16:50
21 févr. 2003 à 16:50
21 févr. 2003 à 16:13
21 févr. 2003 à 14:18