如何优化以下算法?

时间:2015-10-01 17:58:17

标签: algorithm optimization big-o

我们有以下算法:

while(a > b) {
     a -= c;
}
给出a,b和c,b和c是常数,c> 1。 0

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

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:1)

执行二分查找以找到x的最小a-x*c <= b