/* ECP: FILEname=fig3_24.c */ /* 1*/ /* Find Next Prime After Some Starting Number */ /* 2*/ #include /* 3*/ #define TRUE 1 /* 4*/ main( void ) /* 5*/ { /* 6*/ unsigned long int Divisor, PossiblePrime; /* 7*/ int FoundPrime; /* 8*/ printf( "Enter the starting number: " ); /* 9*/ scanf( "%lu", &PossiblePrime ); /*10*/ if( PossiblePrime <= 2 ) /*11*/ PossiblePrime = 2; /*12*/ else /*13*/ if( PossiblePrime != 3 ) /*14*/ { /*15*/ if( PossiblePrime % 2 == 0 ) /*16*/ PossiblePrime++; /* Need An Odd Number */ /*17*/ for( ; ; PossiblePrime += 2 ) /*18*/ { /*19*/ FoundPrime = !TRUE; /*20*/ for( Divisor = 3; PossiblePrime % Divisor; Divisor += 2 ) /*21*/ if( Divisor * Divisor > PossiblePrime ) /*22*/ { /*23*/ FoundPrime = TRUE; /*24*/ break; /*25*/ } /*26*/ /*27*/ if( FoundPrime ) /*28*/ break; /*29*/ } /*30*/ } /*31*/ printf( "Next largest prime is %lu\n", PossiblePrime ); /*32*/ }