Easy
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
class Solution {
fun sumOfMultiples(n: Int): Int {
fun sumOfDivisible(value: Int): Int {
val high = n / value * value
val count = (high + value - value) / value
return (value + high) * count / 2
}
return sumOfDivisible(3) + sumOfDivisible(5) + sumOfDivisible(7) -
(sumOfDivisible(15) + sumOfDivisible(35) + sumOfDivisible(21)) +
sumOfDivisible(105)
}
}