begin process at 2012 05 29 00:30:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Maths

 > 

combinaison / factorielle


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

combinaison / factorielle

dimanche 3 octobre 2010 à 17:22:04 | combinaison / factorielle

sacredead

bonjour,
j'aimerais écrire une équation comportant des combinaisons C(n,k).
étant donné que je ne connais pas la syntaxe, j'aimerais passer par les factorielles (et un système de renvoie de données).
le problème est lorsque je rentre des valeur de n important (>15) mon programme me renvoie une valeur fausse!
cela vient il de mes déclarations int/long ?
existe t'il un autre moyen ?

voila mon programme

#include <stdio.h>


int factorielle(int n)
{
long resultat;

if(n<=0)
{
return 1;
}
else
{
for(resultat =1; n > 1; n--)
{
resultat *= n;
}
}

return resultat;
}


int main()
{
int n;
long resultat;

printf("Entrez un nombre...\n ");
scanf("%d", &n);
resultat = factorielle(n);

printf("Le fact est %d\n", resultat);

return 0;
}



merci pour votre aide
lundi 4 octobre 2010 à 08:51:24 | Re : combinaison / factorielle

Chouchou182

Salut,

En effet, un int, c'est 32 bits dont un pour le signe, donc au delà de 2147483647, ça déborde. Et 15!, c'est 1307674368000, d'où le débordement.

En revanche, il est possible (voire souhaitable) de calculer les coefficients binomiaux sans calculer de factorielle (même en ne faisant que des additions !). Je t'invite à t'intéresser au Triangle de Pascal.

N'hésite pas à revenir poser des questions.

Bonne prog,
--
Chouchou.


Cette discussion est classée dans : long, int, resultat, combinaison, factorielle


Répondre à ce message

Sujets en rapport avec ce message

type de variable? long int ? [ par dleewax ] salut! je suis nouveau dans le C++ et j'ai un petit problème... je suis en train de faire un petit programme permettant de calculer les factorielles.. Probl avec float et int [ par David2907 ] Après un calcul, comment faire pour afficher un resultat sans virgule ou un resultat avec virugule???Merci Traduire long int en tableau de caracteres [ par Shyron ] Salut,Je cherche comment traduire un long int en un tableau de caracteres de même taille que le nombre de chiffres du long int en C++. exercice important>>>>> [ par porkapetan ] saluten fait je bloque sur un programmeje prends deux nombres de trois chiffreset je les additionne et les multiplieje dois ensuite verifier si le res équation et tableaux [ par cabarrus ] je ne trouve pas l'erreur dans mon programme?#include#includeint deltanul(int);float deltainf(float);float deltasup(float);void main(void){float a,b,c conversion constante en hexa ->unsigned long ou int ??? [ par andrealphus ] 4ndr&@lphu$rebonjour à tous et toutes,mon nouveau probleme est ridicule mais gênant...comment peut on convertir un nombre hexadécimal (du style l'adre SHBrowseForFolder [ par grandmach ] Bonjour,J'essaie d'afficher une fenetre de séléction de répertoire avec SHBrowseForFolder mais je n'arrive pas à changer le titre de la fenetre (dans problème Win32 Api [ par Toadstool ] J'ai Visual C++ 6 Introductory Edition et j'ai programmé une classe censée représenter une fenetre mais quand dans le constructeur de la classe j'ecri probleme avec printf(%d) [ par jeani763 ] Mon probleme est assez compliqué :Je voudrais que mon programme compte le nombre de lettres que je lui donne ce qui ce fait grace a la fonction cin ; compatibilité borland microsoft visual [ par swnnos ] Bonjour je dois réutiliser un fichier d'en tête fourni par le constructeur d'une platine d'usinage. Seulement ce fichier est compatible borland mais p


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,655 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales