Algorithm For Random Number Generation