/* ECP: FILEname=fig3_25.c */ /* 1*/ /* Print Prime Factorization Of A Number */ /* 2*/ #include /* 3*/ main( void ) /* 4*/ { /* 5*/ unsigned long NumberToFactor, PossibleFactor, UnfactoredPart; /* 6*/ printf( "Enter a number to factor: " ); /* 7*/ scanf( "%lu", &NumberToFactor ); /* 8*/ PossibleFactor = 2; /* 9*/ UnfactoredPart = NumberToFactor; /*10*/ while( PossibleFactor * PossibleFactor <= UnfactoredPart ) /*11*/ { /*12*/ if( UnfactoredPart % PossibleFactor == 0 ) /*13*/ { /* Found A Factor */ /*14*/ printf( "%lu ", PossibleFactor ); /*15*/ UnfactoredPart /= PossibleFactor; /*16*/ continue; /*17*/ } /*18*/ /* No Factor; try Next Factor */ /*19*/ if( PossibleFactor == 2 ) /*20*/ PossibleFactor = 3; /*21*/ else /*22*/ PossibleFactor += 2; /*23*/ } /*24*/ /* Print Last Factor */ /*25*/ printf( "%lu\n", UnfactoredPart ); /*26*/ }