查找范围内数字的倍数
我有一个关于Codility中的CountDiv问题的问题。
给出的问题是:编写一个函数:
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
如果然后与,那么为什么我应该有0?问题陈述。K =5
i=10
A<=i<=B
i%k =0