Discrete-Time Adaptive Control Algorithms For Rejection Of Sinusoidal Disturbances