Factorielle qui marche jusqu'a 415 chiffres

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 493 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
TheBabyCool Messages postés 34 Date d'inscription dimanche 2 septembre 2001 Statut Membre Dernière intervention 4 mars 2003
19 févr. 2003 à 20:38
Le code(la présentation) est attroce(le pire que g vu de toute ma vie).
Mais sinon il est exellent. bonne idée
cs_Lightness1024! Messages postés 162 Date d'inscription jeudi 15 mars 2001 Statut Membre Dernière intervention 1 avril 2005
28 juil. 2002 à 17:32
tu viens de quel pays ?
natpoitiers Messages postés 11 Date d'inscription jeudi 4 juillet 2002 Statut Membre Dernière intervention 13 juillet 2002 1
28 juil. 2002 à 16:42
Je comprend bien, mais je parle ... Grace a Dieu a l'informatique c'est p. import.
Hi.
cs_Lightness1024! Messages postés 162 Date d'inscription jeudi 15 mars 2001 Statut Membre Dernière intervention 1 avril 2005
27 juil. 2002 à 23:45
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.