Factorielle qui marche jusqu'a 415 chiffres

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 373 fois - Téléchargée 37 fois

Contenu du snippet

Moi, quand j'ai commence mon cours de programm. j'ai pose la question au prof: pourq. nous utilisons 2 algo (sans recursivite et avec) pour programmer factorielle si ils n'march. pas. (Ex: facto de 30 est nombre negatif).
Prof. ma expliqué quelque chose au sujet des registres et insuffisance de memoire (peut etre il a pense que si je parle franc. tres mal, je n'conn. pas la structure du PC). Explications pourqoui calculatrice d'Unix affiche result. de factorielle je n'ai pas demende - parfois c'est plus intelleg. Dans 2 semaines j'ai montré result. du mon travail. Si vous voulez voir l'effet sur visage de votre prof. - essayez. Hi.

Si serieux: algo est interess. J'ai indique 3 niveau parc. l'idee d'algo est bonne.

Source / Exemple :


#include <stdio.h>
void main(void)
{
int b=10000;//base
int n,q,i,j,p,r,m,max;
int t[100];
int aff=0;
system("cls");
for(i=0;i<100;i++) t[i]=0;
printf("Votre nombre pour calculer factorielle (max=209):-->");scanf("%d",&n);
t[99]=n;
for(m=n-1;m>=2;m--){
    q=0;    for(i=99;i>0;i--)
        {
                p=t[i]*m+q; r=p%b;
                q=(p-r)/b; t[i]=r;
        }
        t[0]=t[0]*m+q;
    }
    if(t[0]>9999) puts("Depassement de capacite: max 209 !!!");
    j=0;
    while (t[j]==0) {j++;max=j;}
printf("Factoriell de %d -->> ",n);
for(j=max;j<100;j++) {
if (t[j]<10) printf("000%d",t[j]);
else if (t[j]<100) printf("00%d",t[j]);
else if (t[j]<1000) printf("000%d",t[j]);
else printf("%d",t[j]);
}
for(i=0;i<aff;i++) printf("0");
}

A voir également

Ajouter un commentaire Commentaires
Messages postés
34
Date d'inscription
dimanche 2 septembre 2001
Statut
Membre
Dernière intervention
4 mars 2003

Le code(la présentation) est attroce(le pire que g vu de toute ma vie).
Mais sinon il est exellent. bonne idée
Messages postés
162
Date d'inscription
jeudi 15 mars 2001
Statut
Membre
Dernière intervention
1 avril 2005

tu viens de quel pays ?
Messages postés
11
Date d'inscription
jeudi 4 juillet 2002
Statut
Membre
Dernière intervention
13 juillet 2002
1
Je comprend bien, mais je parle ... Grace a Dieu a l'informatique c'est p. import.
Hi.
Messages postés
162
Date d'inscription
jeudi 15 mars 2001
Statut
Membre
Dernière intervention
1 avril 2005

meme si c pas tres clair et bien présenté le résultat est la et je confirme l'exactitude (vérification grace a un TI-89).
d'ailleur le prof de prog n'aurais pas du faire une tete spéciale ou alors c lui ki n'y connais rien, on peu troujours créer des types de variables personnalisé avec tellement d'octets que l'on peu stoquer des nombres immenses facilement.

derniere remarque: tu ne sais vraiment pas parler francais, tu es etranger ?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.