考え方
苦手な数学の発想問題です。なんでprefix sumのセクションにあるんや...?
もしBが11なら、11 / 2 = 5
11までの数字は:
1,2,3,4,5,6,7,8,9,10,11
2で割れる数字は:
2,4,6,8,10 -> 5
あってます。
もしAが6なら、6 / 2 = 3
6までの数字は:
1,2,3,4,5,6
2で割れる数字は:
2,4,6 -> 3
Bと見てみると、6
が重複してるので
(6-1) / 2 = 2
1,2,3,4,5
2,4
- 5-2 = 3
0 % 1 = 1なので、Aが0の場合は+1する
コード
public class Solution { public static void main(String[] args) { System.out.println(solution(6,11,2)); } public static int solution(int A, int B, int K) { int b = B/K; int a = (A>0 ? (A-1)/K : 0); if(A == 0) { b++; } return b-a; } }