******** fig10.54 ********** unsigned int seed; /* global variable */ #define a 16807 /* 7^5 */ #define m 2147483647 /* 2^31 - 1*/ double random( void ) { seed = ( a * seed ) % m; return( ( (double) seed ) / m ); }