C 一日之计在于晨
刚开始,我们先对 进行 将时钟范围定为 ,
假设顺时针操作了 次,那么最终位置在
然后化为
此时是线性同余方程,然后化为
同理,如果是逆时针操作 次,那么方程为
我们可以使用扩展欧几里得算法求解 的 和
令
当 时,线性同余方程才有解,
此时 且 ,
我们需要 尽可能小,如果 ,那么我们要刚好让 到离 最近的点再走一次,
也就是说
此时 将方程两边同时乘上 ,得
令
有
此时 是该方程的特解,我们需要求该方程的通解。
设 , 有
解得 ,这个分式还可以化简,即
也就是说
此时最小的非负整数解为
当 时,
同上,我们需要 尽可能小,此时
再同上 最小的非负整数解也为
此时求得
前者的同余方程的最小点为 ,最小代价为
后者的同余方程的最小点为 ,最小代价为