begin process at 2012 05 27 16:14:24
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > FACTORIELLE

FACTORIELLE


 Information sur la source

Note :
1 / 10 - par 1 personne
1,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Maths & Algorithmes Niveau :Débutant Date de création :18/03/2004 Vu :3 246

Auteur : DaioLee

Ecrire un message privé
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

Avec ce code on peut produire un fichier executable qui calcul la factorielle d'un entier n ( 0=<n<171) en appelant le programme depuis la ligne de commandes (MSDOS par exmple) suivit de l'entier n. Ex. >factorielle 4


Source

  • #include <stdio.h>
  • #include <stdlib.h>
  • void usage (char *s){
  • printf("Usage : %s nombre (0<= nombre <171)\n", s);
  • exit (-1);
  • }
  • double factorielle (int n){
  • if (n == 0)
  • return 1; /*Constat de base : 0!=1 */
  • else
  • return (n * factorielle (n-1));
  • }
  • int main (int argc, char *argv[])
  • {
  • int nombre;
  • if (argc!=2)
  • usage (argv[0]);
  • nombre = atoi (argv[1]);
  • if (nombre < 0 || nombre > 170)
  • usage (argv[0]);
  • printf("La factorielle de %d est %.0f\n", nombre, factorielle(nombre));
  • exit(0);
  • }
#include <stdio.h>
#include <stdlib.h>

void usage (char *s){

     printf("Usage : %s nombre (0<= nombre <171)\n", s);
     exit (-1);

}		

double factorielle (int n){
    if (n == 0)
           return 1;  /*Constat de base : 0!=1 */

    else
           return  (n * factorielle (n-1));
}


int main (int argc, char *argv[])
{
    int nombre;
	
    if (argc!=2)
	usage (argv[0]);


     nombre = atoi (argv[1]);

     if (nombre < 0 || nombre > 170)
	usage (argv[0]);


     printf("La factorielle de %d est %.0f\n", nombre, factorielle(nombre));

     exit(0);

}



 Sources de la même categorie

Source avec Zip UN EXAMPLE D'APPLICATION EN CUDA DE L'ALGORITHME DE SCAN POU... par oguzaras
Source avec Zip Source avec une capture CHIFFREMENT DE VIGENERE par lajouad
Source avec Zip Source avec une capture ANALYSE SYNTAXIQUE par lajouad
Source avec Zip Source avec une capture STRUCTURE D'UNE MATRICE PAR LES LISTE LINÉAIRE (NON CONTUGUS... par benzarabel
Source avec Zip Source avec une capture DESSINER UNE ARBRE BINAIRE( MODE CONSOLE): par benzarabel

Commentaires et avis

Commentaire de MetalDwarf le 18/03/2004 19:01:41

Ce n est certainement pas la valeur de la factorielle que tu calcule comme ca, en tout cas pour des nombre de + de 10 chiffres. Apres c est une valeur approchee... Pour pouvoir le faire il faut utiliser une classe speciale pour les grands entiers (a creer soi meme ou alors utilise NTL)

Commentaire de Gerald le 19/03/2004 18:39:00

ouep la capacité max d'un entier(non signé d'ailleur, pas comme dans ce source) est 4294967295, ce qui correspond à qqchose entre 12! et 13! :p  mais bon... le principe est bon

Commentaire de lpikachu58 le 22/03/2004 13:54:18

c'est de la merde ce truc le programme de la factorielle est récursif ce que tu nous propose ne l'ai pas du tout.

Ah chier

Commentaire de zanidip le 22/03/2004 13:57:35

he connard! dit pas ca comme ca, c'est pas parse que sa methode est differente qu'elle n'est pas bonne!
si t'est la pour repondre comme ca aux post, tu peut te casser, cretin!

Commentaire de patriarch24 le 26/03/2004 08:42:07

quel civisme....
bon pour revenir au truc : le maximum que l'on peut calculer sans depasser la capacite des entiers est 12! a 13 c'est deja cuit... (calcule avec des unsigned long)
ensuite le programme factorielle n'est pas forcement recursif et si notre ami Ipikachu58 avait bien regarde, il aurait vu que le source propose un programme recursif... alors avant de t'enerver et de balancer des trucs comme ca apprends ce qu'est un programme recursif on en reparlera apres.

 Ajouter un commentaire




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,577 sec (3)

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