3954. Sum of Compatible Numbers in Range I
You are given two integers n and k.
A positive integer x is called compatible if it satisfies both of the following conditions:
abs(n - x) <= k(n & x) == 0
Return the sum of all compatible integers x.
Note:
- Here,
&denotes the bitwise AND operator. - The absolute difference between integers
iandjis defined asabs(i - j).
Example 1:
Input: n = 2, k = 3
Output: 10
Explanation:
The compatible integers are:
x = 1, sinceabs(2 - 1) = 1and2 & 1 = 0.x = 4, sinceabs(2 - 4) = 2and2 & 4 = 0.x = 5, sinceabs(2 - 5) = 3and2 & 5 = 0.
Thus, the answer is 1 + 4 + 5 = 10.
Example 2:
Input: n = 5, k = 1
Output: 0
Explanation:
There are no compatible integers in the range [4, 6]. Thus, the answer is 0.
Constraints:
1 <= n <= 1001 <= k <= 100
Dynamic ProgrammingBit ManipulationEnumeration
Hints
Hint 1
The condition
abs(n - x) <= k means x is in the range [n - k, n + k].Hint 2
Since
x must be positive, start checking from max(1, n - k).Hint 3
Iterate through all values in this range and add
x to the answer when (n & x) == 0.Preparing judge…