/* Solution naive de l'exercice 1. 09/10/02 Le prof utilise un tableau pour stocker les Pi ( X=p1^e1 * p2^e2 *...) Moi j'ai decide de ne pas utiliser de tableau, et d'afficher les resultats au fure et à mesure grace a la procedure ajouter(int y) */ #include <stdio.h> #include <math.h> /* variables globales */ int y,x,last=0,compt=0; /* prototype(s) */ void ajouter(int y); int main(void){ /* variable(s) locale(s) */ int n; /* Saisie */ do { printf("Votre nombre :\n"); scanf("%d",&n); } while(n<=1); /* initialisation */ y=2; x=n; printf("%d = ",n); /* Début de l'algo */ while(y<=x){ /* sqrt */ if ((x%y)==0){ ajouter(y); x/=y; } else y++; } /* Fin de l'algo */ printf("\n\n http://www.Software-DS.com\n"); return(0); /* ©2002 All Rights Reserved to Didier STRAUS */ } void ajouter(int y){ if (last==0){ /* initialistaion */ last=y; compt++; } else if (last==y) { compt++; } else { if (compt==1) /* ei=1 ? */ printf("%d *",last); else printf("%d^%d *",last,compt); compt=1; last=y; } if ((x/y)==1) { /* C'est fini ? */ printf(" %d",last); if (compt>1) printf("^%d",compt); } } /* Fin de ajouter */ |
Haut de la page - Page générée en 0.00212 sec.
|