У меня есть вопрос относительно проблемы CountDiv в Codility.
Задача: написать функцию:
class Solution { public int solution(int A, int B, int K); }
что, учитывая три целых числа A, B и K, возвращает число целых чисел в пределах диапазона [A..B], которые делятся на K, то есть:
{ i : A ≤ i ≤ B, i mod K = 0 }
Мой код:
class Solution {
public int solution(int A, int B, int K) {
int start=0;
if (B<A || K==0 || K>B )
return 0;
else if (K<A)
start = K * ( A/K +1);
else if (K<=B)
start = K;
return (B-start+1)/K+ 1;
}
}
Я не понимаю, почему я ошибаюсь, особенно в этом случае:
extreme_ifempty
A = 10, B = 10, K in {5,7,20}
WRONG ANSWER
got 1 expected 0
if K =5
, затем с i=10
A<=i<=B
и i%k =0
, так зачем мне 0? Описание проблемы.