Salut,
Est-ce que quelqu'un connait un langage de programmation scientifiques (qui peut utiliser des grands nombres)?
-----
Salut,
Est-ce que quelqu'un connait un langage de programmation scientifiques (qui peut utiliser des grands nombres)?
Tout depend ce que tu appelles grand nombre (entier , flottant... ) mais sinon il existe une classe BigNumber en java. On doit également pouvoir trouver des bibliotheques gérant de "grands" nombres en C ou alors on peut les écrire soit même.
Fouille un peu sur http://www.developpez.com/
Je péfère les grands entiers.
BigNumber tu veux dire BigInteger? Mais, en Java dès qu'on les utilise, le programme devient très compliqué.
Je n'ai pas le C ni le C++,est-ce qu'on peut le télécharger?
En C ou en C++, il y a plein de compilos et d'IDE différents que tu peux télécharger.
Fais une petite recherche sur google tu trouveras ton bonheur
Perso j'utilise un truc pas très connu : MinGW Developer Studio, qui est basé sur le compilo MinGW, qui est le portage sous Windows du très connu GCC (GNU Compiler Collection).
dispo sur http://www.parinyasoft.com/
(prendre le package n° 2 au minimum)
Et pour utiliser de (très !) grands entiers en C/C++ :
http://www.swox.com/gmp/index.orig.html
Ya une excellente doc, et c'est très facile de l'utiliser.
en C ou en C++, il en existe plein, j'en ai créé une, elle est faite en C et permet de gérer des nombres de 1024 bits...
les nombres classiques (int unsigned) permettent eux d'utiliser des nombres de 32 bits, soit de 0 à 2^32-1 soit un peu plus de 4 milliards...
en php, t'as aussi une lib, comme ça tu pourras faire des graphs facilement, mais ton pc va ramer...
En relisant cette question, je me dis que tu ne dois pas bien connaitre le C ou le C++, donc une bonne idée serait de rester en Java si tu vois ce que je veux direEnvoyé par PoleJe n'ai pas le C ni le C++,est-ce qu'on peut le télécharger?
Désolé g_h, mais je cois que le C est plus facile que le java.
Coucou747, comment tu fais les divisions : j'ai essayé de les programmées en pascal mais je n'y arrive pas!
Je crois effectivement que le C est plus rigoureux que le java, et qu'il contient moisn de mots clefs... En plus, on n'a pas la théorie objet en C, mais on a les pointeurs....
Pour les divisition, comme quand on était gosses (quand on n'avait pas de calto)
tu calcules a/b
c=nombre de chiffres de a - nombre de chiffres de b
b1=b*base^c; //c'est un simple décalage
r=0
tant que (b1>b){
tant que (a>b1){
r=r+1;
a=a-v1;
}
b1=b1/base;
if b1!= b alors r=r*base;
}
r est la réponse...
Merci pour l'algorithme, mais quand on était gosses, on ne le retenait pas comme ça!
c'est à peu de choses près le même...
Essayons la division de 100 par 23 (en base 10) :
a=100;b=23;
c=3-2=1;
b1=23*10^1=230;
r=0;
(230>23->vrai)
(100>230->faux)
b1=230/10=23;
(23!=23->faux)
(23>23->faux->sortie de la boucle)
Conclusion 100 est divisible par 23!!!
lol
il te renvoi le nombre, il ne peut pas te renvoyer le reste, ou alors faut lui faire renvoyer une struct...
écoute, mon algo fonctionne, mais il ne te donnes qu'un nombre entier, si tu ne veux pas avoir un nombre entier, alors tout dépends de la façon dont tu gères la virgule...
Si l'algo ne donne pas le reste ni le quotient, il sert à quoi?
Tu es sûr que ce n'est pas des >= dans tes boucles?
ce sont effectivement des >=... l'algo donne le quotient, masi pas le reste, c'est l'opération modulo qui donne le reste !
de plus, une fonction ne renvoi qu'une variable, alors soit c'est un tableau, soit c'est une struct, soit un objet (quand on veut en renvoyer deux) mais quand on fait une lib, mieux vaut prévoir les trois cas...
j'ai oublié de préciser :
a est le reste....
c=nombre de chiffres de a - nombre de chiffres de b - 1;
b1=b*base^c;
r=0;
while (b1>=b){
while (a>=b1){
r=r+1;
a=a-b1;
}
b1=b1/base;
if (b1>=b) alors r=r*base;
}
Où a est le reste et r est le quotient.