def test_count_elts_in_range_5(self): assert utils.count_elts_in_range(2, 10, 3, 0) == 3
def test_count_elts_in_range_1(self): assert utils.count_elts_in_range(0, 10, 3, 0) == 4
def test_count_elts_in_range_3(self): assert utils.count_elts_in_range(0, 8, 3, 0) == 3
def count_elts_in_range_with_remainders(range_min, range_max, pr): p_all, r_all = pr[0] for (p, r) in pr[1:]: p_all, r_all = p_all * p, utils.chinese_remainder(r_all, p_all, r, p) return utils.count_elts_in_range(range_min, range_max, p_all, r_all)