-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcountDiv.js
More file actions
29 lines (22 loc) · 896 Bytes
/
Copy pathcountDiv.js
File metadata and controls
29 lines (22 loc) · 896 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// Write a function:
// function solution(A, B, 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.:
// { i : A ≤ i ≤ B, i mod K = 0 }
// 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.
// Write an efficient algorithm for the following assumptions:
// A and B are integers within the range [0..2,000,000,000];
// K is an integer within the range [1..2,000,000,000];
// A ≤ B.
console.log(solution(6, 11, 2));
function solution(A, B, K){
let remaining = A % K;
let count = 0;
if(remaining === 0) {
count = Math.floor((B - A) / K) + 1;
}else {
var missing = K - remaining;
var a = missing + A;
count = Math.floor((B - a) / K) + 1;
}
return count;
}