Integers divisible by primes
Given an integer n and a list of distinct primes, count how many integers in [1, n] are divisible by at least one of the given primes. Summing floor(n/p) over-counts numbers divisible by several primes, so apply the inclusion-exclusion principle over all non-empty subsets of the primes: add floor(n / product) for odd-sized subsets and subtract for even-sized ones. The list is small enough to enumerate subsets.
Implement
count_divisible_by_any(n: int, primes: list[int]) → intExamples
in
[10,[2,3]]out7What a strong answer looks like
State your approach and its time/space complexity out loud before you optimize. Handle the edge cases (empty input, duplicates, overflow), and say why you chose this over the brute force. Green tests are the floor, not the grade.
0:00 of about 25 min
solution.py
InputExpectedGot
[10,[2,3]]7not run yetsample