Codility : Prefix Sums : CountDiv - jimi's blog
http://codility-lessons.blogspot.com/2014/07/lesson-3-countdiv.html
See the figure above.
When A % K == 0, the answer can be given by (B - A) / K + 1.
When A % K != 0, the answer can be given by (B - (A - A % K)) / K.
int solution(int A, int B, int K)
{
if (A % K == 0){
return (B - A) / K + 1;
}
return (B - (A - A % K)) / K;
}int solution(int A, int B, int K)
{
if (A % K == 0){
return (B - A) / K + 1;
}
return (B - (A - A % K)) / K;
}Simple coded solution is
def solution(a, b, k) counter = 0 for i in a..b counter +=1 if i%k == 0 end counter end
Read full article from Codility : Prefix Sums : CountDiv - jimi's blog
Write a function:
int solution(int A, int B, int K);
that, given three integers A, B and K, returns the number of integers within the range [A..B] that are divisible by K, i.e.:
For example, for A = 6, B = 11 and K = 2, your function should return 3, because there are three numbers divisible by 2 within the range [6..11], namely 6, 8 and 10.{ i : A ≤ i ≤ B, i mod K = 0 }
http://codility-lessons.blogspot.com/2014/07/lesson-3-countdiv.html
See the figure above.
When A % K == 0, the answer can be given by (B - A) / K + 1.
When A % K != 0, the answer can be given by (B - (A - A % K)) / K.
int solution(int A, int B, int K)
{
if (A % K == 0){
return (B - A) / K + 1;
}
return (B - (A - A % K)) / K;
}int solution(int A, int B, int K)
{
if (A % K == 0){
return (B - A) / K + 1;
}
return (B - (A - A % K)) / K;
}Simple coded solution is
def solution(a, b, k) counter = 0 for i in a..b counter +=1 if i%k == 0 end counter end
Read full article from Codility : Prefix Sums : CountDiv - jimi's blog