如何优化以下算法?

How to optimize following algorithm?

我们有以下算法:

while(a > b) {
     a -= c;
}

a、b、c给定,b、c为常量,c>0。

现在它以线性时间运行。 是否可以加快速度,以对数或恒定时间工作?

执行二进制搜索以找到最小值 x 使得 a-x*c <= b.

嗯...你可以试试这个,对吧(假设 a、b 和 c 是正整数)?

a = (a-b)%c + b - c