计算给定范围内多个O(1)复杂度的数字?

时间:2016-07-06 08:16:53

标签: algorithm time-complexity factors

我们给出了三个数字,L,R和K.我们需要计算L和R之间的数字(包括两者),它们可以被K整除。

是否可以用O(1)复杂度来解决?

这是一个非常简单的程序,我知道,可以通过循环轻松完成。但我想知道是否有可能应用某种公式或某些东西来直接知道L和R之间可被K整除的数字的数量。

例如,count = (R - L + 1) / K可能适用于某些情况。

什么吗?

1 个答案:

答案 0 :(得分:3)

这是您的解决方案。

 quo1=l/k;
 quo2=r/k;
 rem=l%k;
 if(rem==0)
 {
   count=quo2-quo1+1;
 }
 else
 {
    count=quo2-quo1;
  }