Solution to Codility lesson3-exercise1 Count Divisible problem, link to Codility problem and complete solution at the end of the post.

**Definitions:**

** Problem:**Define a function

*solution*with input

*A, B*and

*K*, such that

*solution*returns the number of integers divisible by

*K*, belonging to the interval [A, B].

- Expected worst-case time complexity is
*O(1)*; - Expected worst-case space complexity is
*O(1);*

**Elements of input arrays can be modified.**** **

### Analysis:

The solution to this problem is pretty simple, the integers divisible by *K, *are the ones described by

.

* *gives us all divisible integers from *1* to *B, *

*.*

Now we just have to subtract the integers that dot not belong to the interval* [A, B]. *We have to be careful here, since *A* belongs to the interval, if *A* is divisible we have count it, so when excluding, we are going to do

*. *And the solution is

*
*We are doing only one operation to solve this problem, so this gives us, time complexity and space complexity of

*O(1);*

**Complete Solution:**

123456789
# Name: CountDiv# Link: https://codility.com/demo/take-sample-test/count_div/ def solution(A, B, K): # B//K Al numbers divisible by K from 0 to B, (A - 1)//K # all number divisible by K except A if A is divisible return B//K - (A - 1)//K

1 2 3 4 5 6 7 8 9 |
# Name: CountDiv # Link: https://codility.com/demo/take-sample-test/count_div/ def solution(A, B, K): # B//K Al numbers divisible by K from 0 to B, (A - 1)//K # all number divisible by K except A if A is divisible return B//K - (A - 1)//K |

*Time Complexity O(1)*

*Space Complexity O(1)*