2652. Sum Multiples
Description
Given a positive integer n
, find the sum of all integers in the range [1, n]
inclusive that are divisible by 3
, 5
, or 7
.
Return an integer denoting the sum of all numbers in the given range satisfying the constraint.
Example 1:
Input: n = 7 Output: 21 Explanation: Numbers in the range [1, 7] that are divisible by 3, 5, or 7 are 3, 5, 6, 7. The sum of these numbers is 21.
Example 2:
Input: n = 10 Output: 40 Explanation: Numbers in the range [1, 10] that are divisible by 3, 5, or 7 are 3, 5, 6, 7, 9, 10. The sum of these numbers is 40.
Example 3:
Input: n = 9 Output: 30 Explanation: Numbers in the range [1, 9] that are divisible by 3, 5, or 7 are 3, 5, 6, 7, 9. The sum of these numbers is 30.
Constraints:
1 <= n <= 103
Solutions
Solution 1: Enumeration
We directly enumerate every number \(x\) in \([1,..n]\), and if \(x\) is divisible by \(3\), \(5\), and \(7\), we add \(x\) to the answer.
After the enumeration, we return the answer.
The time complexity is \(O(n)\), where \(n\) is the given integer. The space complexity is \(O(1)\).
1 2 3 |
|
1 2 3 4 5 6 7 8 9 10 11 |
|
1 2 3 4 5 6 7 8 9 10 11 12 |
|
1 2 3 4 5 6 7 8 |
|
1 2 3 4 5 6 7 8 9 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
Solution 2: Mathematics (Inclusion-Exclusion Principle)
We define a function \(f(x)\) to represent the sum of numbers in \([1,..n]\) that are divisible by \(x\). There are \(m = \left\lfloor \frac{n}{x} \right\rfloor\) numbers that are divisible by \(x\), which are \(x\), \(2x\), \(3x\), \(\cdots\), \(mx\), forming an arithmetic sequence with the first term \(x\), the last term \(mx\), and the number of terms \(m\). Therefore, \(f(x) = \frac{(x + mx) \times m}{2}\).
According to the inclusion-exclusion principle, we can obtain the answer as:
The time complexity is \(O(1)\), and the space complexity is \(O(1)\).
1 2 3 4 5 6 7 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
1 2 3 4 5 6 7 8 9 10 |
|
1 2 3 4 5 6 7 |
|
1 2 3 4 5 6 7 |
|
1 2 3 4 5 6 7 |
|
Solution 3
1 2 3 4 5 6 7 8 9 10 |
|