/*************************************************************************************************************************************/ /* */ /* E T U D E D E L A P E R S I S T A N C E M U L T I P L I C A T I V E D E S N O M B R E S : */ /* */ /* */ /* Author of '$xtc/PersistanceMultiplicative.11$c' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 20130531072529). */ /* */ /*************************************************************************************************************************************/ #include "INCLUDES.01.I" #define BASE 10 #define N1 1 #define N2 99 main() { int NombreCourant; int PersistanceMaximale=-1; for (NombreCourant=N1 ; NombreCourant<=N2 ; NombreCourant++) { int Reduction=NombreCourant; int Persistance=0; printf("%d",NombreCourant); while (Reduction >= BASE) { int Cumul=1; int Quotient=Reduction; int Reste; while (Quotient != 0) { Reste = Quotient%BASE; Quotient = Quotient/BASE; Cumul = Cumul*Reste; } Reduction = Cumul; printf(" --> %d",Reduction); Persistance++; } PersistanceMaximale=MAX2(PersistanceMaximale,Persistance); printf(" p=%d (base=%d)\n",Persistance,BASE); } printf("PersistanceMaximale=%d\n",PersistanceMaximale); }