g2601_2700.s2652_sum_multiples.Solution Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java21 Show documentation
Show all versions of leetcode-in-java21 Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
package g2601_2700.s2652_sum_multiples;
// #Easy #Array #Math #Number_Theory #2023_09_06_Time_1_ms_(99.87%)_Space_39.6_MB_(64.42%)
/**
* 2652 - Sum Multiples\.
*
* 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
**/
public class Solution {
public int sumOfMultiples(int n) {
return sumOfDivisible(n, 3)
+ sumOfDivisible(n, 5)
+ sumOfDivisible(n, 7)
- (sumOfDivisible(n, 15) + sumOfDivisible(n, 35) + sumOfDivisible(n, 21))
+ sumOfDivisible(n, 105);
}
private int sumOfDivisible(int n, int value) {
int high = (n / value) * value;
int count = (high + value - value) / value;
return (value + high) * count / 2;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy