' P '

whatever I will forget

CountDiv

考え方

苦手な数学の発想問題です。なんで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

  1. 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;
    }
}